QT
Gti-杠猪
嵌入式linux驱动开发者
展开
-
15.TCP编程
服务器#include "tcpserverwig.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); TcpServerWig w; w.show(); return a.exec();}#ifndef TCPSE...转载 2019-07-02 09:48:45 · 125 阅读 · 0 评论 -
13.线程基础
QT线程优势:gui线程+子线程使用多线程有什么好处?1.提高应用程序的响应速度。这对于开发图形界面程序尤其重要,当一个操作耗时很长时(比如大批量I/O或大量矩阵变换等CPU密集操作),整个系统都会等待这个操作,程序就不能响应键盘、鼠标、菜单等操作,而使用多线程技术可将耗时长的操作置于一个新的线程,从而不会影响到主GUI线程,从而避免上述问题。2.使多CPU系统更加有效:当线程数不大于...转载 2019-06-29 11:28:49 · 149 阅读 · 0 评论 -
12.文件操作例子
SDF转载 2019-06-29 11:28:13 · 221 阅读 · 0 评论 -
11.文件操作
1.相关类处理QFile、QTextStream、QFileInfoQFile:文件基本操作QTextStream:文本流–会自动处理编码转换,解决一些乱码问题QFileInfo:操作文件信息2.QFile:2.1 继承关系QObject–QIODevice–QFileDevice–QFileQIODevice:QT对输入输出设备抽象,提供了操作设备的一系列接口。接口:QFil...转载 2019-06-28 17:57:48 · 129 阅读 · 0 评论 -
10.主窗体
主窗体构成:1.标题栏(跟随系统)–只能通过方法修改2.菜单栏(QMenuBar)菜单项(QMenu)动作(QAction)3.工具栏(QToolBar)动作(QAction)4.中央窗体(主窗体)–QWidget:可以在上面组合任意界面5.状态栏(QStatusBar)动作设计:增加短快捷键:新建(&N)标题栏修改方法:void setWindowTitle(co...转载 2019-06-28 17:55:34 · 355 阅读 · 0 评论 -
9.事件处理
一、事件处理1.理论:事件由窗口系统或系统自身产生,用以响应各种行为或情况。如当按下鼠标或释放鼠标时,会产生鼠标事件,按下键盘时,出现按键事件…(详见QEvent帮助文档介绍)QT基于事件、信号与槽来保证界面的正常工作,信号与槽完成对象之间的通信,而系统底层产生的所有事件,比如上面提到的键盘按下、松开,鼠标左键、滚轮等,都会由QT采集并做封装,放到QT的事件队列中。而QT的主循环(即m...转载 2019-06-28 17:54:29 · 136 阅读 · 0 评论 -
8.堆栈窗体
一、堆栈窗体–QStackedWidget1.方法Public FunctionsQStackedWidget(QWidget * parent = 0)int addWidget(QWidget * widget) 增加窗体,增加完后默认会分配一个index值,从0开始 int currentIndex() const 得到当前显示窗体的index值Public Slot...转载 2019-06-28 17:53:49 · 263 阅读 · 0 评论 -
7.双路进度条实现
#include "myprogress.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); MyProgress w; w.show(); return a.exec();}转载 2019-06-28 17:53:07 · 335 阅读 · 0 评论 -
6.QT布局使用
一、布局管理器1.实例:窗体最小分辨率为400*400,窗体上放置两个文本输入框, QTextEdit横向均分两个文本输入框。使用代码来实现上述功能。使用UI编辑器布局来改进界面不足。2.布局管理器手工布局(适用于测试某个小功能):简单快捷,但不能做到自适应窗口,需要自己计算窗口位置和大小布局管理器布局(适用于项目开发):1.子部件的定位2.窗口的合理默认空间3.窗口的合理最小...转载 2019-06-28 17:51:34 · 212 阅读 · 0 评论 -
5.常用GUI部件
一、了解QT常用的部件类QPushButton:按钮QRadioButton:单选框QCheckBox:多选框QListWidget:列表部件QTableWidget:表格组件QGroupBox: 组框QStackedWidget:堆栈窗体QWidget:基础窗口部件QComboBox:组合框QLineEdit:单行文本框QTextEdit:多行文本框QTimeEdit:时...转载 2019-06-28 17:50:53 · 459 阅读 · 0 评论 -
4.辅助类使用
1.QByteArray思考:char buf[6] = “hello”;如果要把buf改成"hello world",该怎样做。Qt通过QByteArray为我们提供了一个字节数组容器(它是可变长的)。主要用来存储原始的字节数据。QByteArray仍可以表示字符串,类似与char buf[],但是QT中多用QString来表示字符串。一般结合其它类使用,比如QIODevice类的QB...转载 2019-06-28 17:49:48 · 239 阅读 · 0 评论 -
3.信号与槽的对应关系
一、QT打印调试方法1.类C语言使用方法int val = 5;qDebug(“val = %d”, a); //方法1,类似于C的printf函数2.类C++使用方法int val = 5;qDebug()<<"val = "<<val; //方法2,类似于C++的cout函数3.方便输出QT类二、信号与槽1.简介:信号与槽是QT在C++基础上新增...转载 2019-06-28 17:48:34 · 1290 阅读 · 0 评论 -
2.界面开发入门
一、界面编程1.分析程序结构2.使用类方法改变对象属性尝试改变窗口大小属性,思考怎样根据需求查找需要的接口?a.搜索相应的方法b.搜帮助文档,首先定位到文档中相应的属性:Properties,再去查找相应的方法。3.窗口增加一个按钮,设置按钮显示文字为"点击",并改变按钮字体颜色。QPushButton::QPushButton(QWidget * parent = 0)凡是在构造...转载 2019-06-28 17:47:09 · 319 阅读 · 0 评论 -
1.建立第一个QT界面项目
一、项目建立1.建立C项目: 非QT项目-》纯C语言项目2.建立C++项目: 非QT项目-》纯C++语言项目3.建立GUI项目: 应用程序-》Qt Widgets Application-》基类先选择QWidget,创建界面选项去掉,类名需要根据窗口功能来修改,首字母大写。注意:1.固定自己的工作目录2.注意项目路径选择不能包含中文4.区分工作目录和构建目录工作目录:即建立项目的...转载 2019-06-28 17:46:34 · 824 阅读 · 0 评论 -
17.飞鸽传书小项目
飞鸽传书通信模板1通信结构体enum{LOGIN=0x1, //登录CHAT, //聊天QUIT, //退出SERVER_ALIVE, //测试服务器是否正常NEW_USER, //服务器告诉客户端新用户登录/已存在的新用户};typedef struct{int type;//消息类型int id; //id 值–用户登录后服务器会分配给用户一个 ID 值char na...转载 2019-07-02 11:03:16 · 631 阅读 · 0 评论 -
16.UDP编程
#-------------------------------------------------## Project created by QtCreator 2018-12-09T16:01:34##-------------------------------------------------QT += core gui networkgreaterThan(...转载 2019-07-02 09:52:57 · 146 阅读 · 0 评论 -
14.网络编程一些概念
TCP/IP分层:应用层:应用程序及应用协议的集合传输层:端口的寻址,寻址任务(进程) TCP/UDP网络层:提供了端对端(寻址机器)的寻址:IP物理层:提供了上层访问硬件设备的功能:驱动程序几个概念:socket:一系列网络编程接口IP:网络通信中唯一标定一台机器,NAT转换端口号:选择原则:>5000TCP/UDP协议:TCP:有连接,可靠的协议:数据无丢失、无失序、...转载 2019-06-29 11:30:03 · 327 阅读 · 0 评论