回顾:
1)控件类:QT += widgets
QApplication(Qt的gui应用程序)
QWidget(控件基类)
QLabel(标签)
QPushButton(按钮)
QDialog(对话框)
QMainWindow(主窗口)
QSlider(滑块)
QSpinBox(选值框)
QLineEdit(行编辑)
QFrame(显示框架)
QMessageBox(消息提示框)
QListWidget(列表窗口)
QTableView(表格视图)
QLayout(布局器)
QSpacerItem(间隔器)
2)Qt核心类:QT += core gui
QObject(最顶层的基类)
QString(字符串)
QTextCodec(字符编码)
QPainter(画家类)
QImage(图片)
QRect(矩形区域)
QPoint(位置)
QSize(大小)
QDir(目录)
QTime(时间)
QTimer(定时器)
QPaintEvent(绘图事件)
QTimerEvent(定时器事件)
QMouseEvent(鼠标事件)
QKeyEvent(键盘事件)
3)Qt数据库 QT += sql
QSqlDatabase(建立Qt和数据库连接)
QSqlQuery(执行SQL语句)
QSqlQueryModel(保存查询结果集)
4)Qt网络编程 QT += network
QAbstractSocket(套接字基类)
QTcpServer(TCP服务器)
QTcpSocket(TCP套接字)
QUdpSocket(UDP套接字)
QHostAddress(IP地址)
…
--------------------------
今天:
一 多窗口编程
1)先显示子窗口,再进入主界面//参考Windows1
2)先显示主界面,再弹出子窗口//参考Windows2
3)同时显示多个窗口//参考Windows3
二 UDP编程
案例:UDP网络广播
1)发送端(Sender)
–》指定广播地址:“255.255.255.255”
–》指定广播端口:8888
–》用户输入广播消息,每隔1秒广播一次
2)接收端(Receiver)
–》绑定接收广播消息的端口:8888
–》实时接收广播消息并显示界面
三 HTTP编程
1 HTTP协议简介
1)请求(request):客户端给服务器发送消息
–》请求行(request-line)
–》请求头(headers)
–》空行(blank Line)
–》可选消息体(request-body)
2)响应(response):服务器给客户端返回消息
–》状态行(response-line)
–》响应头(response)
–》空行(blank Line)
–》消息体(body)
2 Qt中相关类
1)QNetworkAccessManager //管理通信过程
2)QNetworkRequest //请求
3)QNetworkReply //响应
4)QUrl //网络地址
eg:
http://code.tarena.com.cn/CSDCode/csd1911/05Qt/qt_install.txt
http://218.247.142.198/CSDCode/csd1911/05Qt/qt_install.txt
5)QFile/QFileInfo //文件相关操作
6)QTextBrowser //文本浏览器(类似Label控件)
案例:代码下载器(HTTP客户端),实现从"http://code.tarena.com.cn/"下载代码
工程名:HttpClient
类名:MainWindow(默认)
-------------------------------------------------------------
忽略下面提示:
qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv2_server_method
--------------------------------------------------------------
当前URL:http://code.tarena.com.cn/
点击URL: “CSDCode/”
CSDCode对应URL:http://code.tarena.com.cn/CSDCode/
扩展:
1)可以在验证登录位置增加登录对话框
2)下载文件时,指定保存在“/home/tarena/Downloads”目录下面
3)将下载文件操作,放到子线程中执行,实现多文件的同时下载
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)