QT学习笔记
文章平均质量分 73
cc_rong
坚持
展开
-
qt -- QCommandLineParser
QCommandLineParser类提供了一种处理命令行选项的方法。QCoreApplication以简单字符串列表的形式提供命令行参数。QCommandLineParser提供了定义一组选项、解析命令行参数和存储实际使用的选项以及选项值的能力。任何非选项的参数(即不以-开头)都被存储为“位置参数”。命令行上的选项被识别为以单个或双字符开头。选项-(单破折号单独)是一种特殊情况,通常意味着标准输入,不被视为一个选项。解析器将把选项--(双破折号)之后的所有内容视为位置参数。短选项是单...原创 2022-03-17 21:44:55 · 956 阅读 · 1 评论 -
qt -- QTableView
目录例子使用:详细描述属性文档成员函数例子使用:双击选中获取单元格的值:connect(ui->tableView, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT(slotDoubleClickedTableView(const QModelIndex&)));void slotDoubleClickedTableView(const QModelIndex &index){原创 2022-03-17 16:08:37 · 5368 阅读 · 0 评论 -
qt -- Q_GLOBAL_STATIC创建全局静态对象
创建一个全局静态对象,类型为QGlobalStatic,名称为VariableName,行为像一个指向type的指针。Q_GLOBAL_STATIC创建的对象在第一次使用时初始化自己,这意味着它不会增加应用程序或库的加载时间。此外,对象是在所有平台上以线程安全的方式初始化的。用法如下,在全局上下文中(即,在任何函数体之外): Q_GLOBAL_STATIC(MyType, staticType)。这个宏的目的是替换不是POD的全局静态对象(Plain Old Data,或者用c++ 11术语来说,不是...原创 2022-03-16 21:09:44 · 3864 阅读 · 0 评论 -
qt -- invokeMethod介绍
[static] bool QMetaObject::invokeMethod(QObject *obj, const char *member, Qt::ConnectionType type, QGenericReturnArgument ret, QGenericArgument val0 = QGenericArgument( Q_NULLPTR ), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 ..原创 2022-03-16 17:01:34 · 2502 阅读 · 0 评论 -
qt -- 自定义事件与事件的发送(postEvent、sendEvent)
目录发送事件:发送事件(sendEvent)与发布事件(postEvent)自定义事件原理创建自定义事件的方法和步骤自定义事件的使用发送事件:static void QCoreApplication::postEvent (QObject* receiver, QEvent* event,int priority=Qt::NormalEventPriority);static bool QCoreApplication::sendEvent(QObject...原创 2021-10-19 22:54:17 · 6165 阅读 · 1 评论 -
qt -- 事件过滤器eventFilter(QObject* obj, QEvent* e)
1、事件过滤器用于拦截传递到目标对象的事件,这样可以实现监视目标对象事件的作用2、实现事件过滤器的步骤:1、Qt 调用 void QObject::installEventFilter (QObject* filterObj) 把 filterObj 对象设置安装(或注册)为事件过滤器,filterObj 也称为过滤器对象。事件 过滤器通常在构造函数中进行注册。 2、在上一步注册的 filterObj 对象,通过调用 bool QObject::eventFilter(QObj原创 2021-10-19 22:30:55 · 1714 阅读 · 0 评论 -
qt -- QVariant 类
1、QVariant 类用于封装数据成员的类型及取值等信息,该类类似于 C++共用体 union,一个QVariant 对象,一次只能保存一个单一类型的值。该类封装了 Qt 中常用的类型,对于 QVariant 不支持的类型 ( 比如用户自定义类型 ) ,则需要 使 用 Q_DECLARE_METATYPE( Type )宏进行注册。2、QVariant 拥有常用类型的单形参构造函数,因此可把这些常用类型转换为 QVariant 类型,同时 QVariant 还重载了赋值运算符,因此可把常用类型的值原创 2021-10-17 22:53:23 · 2238 阅读 · 0 评论 -
qt -- 多线程QThread
一个应用程序一般只有一个线程,一个线程内的操作是顺序执行的,如果有某个比较消耗时间的计算或操作,比如网络通信中的文件传输,在一个线程内操作时,用户界面就可能会冻结而不能及时响应。这种情况下,可以创建一个单独的线程来执行比较消耗时间的操作,并与主线程之间处理好同步与数据交互,这就是多线程应用程序。 Qt为多线程操作提供了完整的支持。QThread是线程类,是实现多线程操作的核心类,一般从QThread继承定义自己的线程类。线程之间的同步是其交互的主要问题,Qt 提供了QMutex...原创 2021-08-24 22:36:53 · 883 阅读 · 0 评论 -
qt -- 网络操作类(QNetworkRequest、QNetworkAccessManager、QNetworkReply)
目录网络操作的类QNetworkRequest类QNetworkAccessManager类QNetworkReply类网络操作的类主要是QNetworkRequest、QNetworkReply和 QNetworkAccessManager。QNetworkRequest类通过一个URL地址发起网络协议请求,也保存网络请求的信息。目前支持HTTP、FTP等。QNetworkAccessManager类用于协调网络操作。在QNetworkRequest 发起一个网络请原创 2021-08-22 22:20:58 · 1273 阅读 · 0 评论 -
qt -- 网络编程UDP
概述 UDP(User Datagram Protocol,用户数据报协议)是轻量的、不可靠的、面向数据报(datagram)、无连接的协议,它可以用于对可靠性要求不高的场合。与TCP通信不同,两个程序之间进行UDP通信无需预先建立持久的socket连接,UDP每次发送数据报都需要指定目标地址和端口。 QUdpSocket类用于实现UDP通信,它从QAbstractSocket类继承,因而与QTcpSocket 共享大部分的接口函数。主要区别是QUdpSocket以数据报...原创 2021-08-22 14:28:59 · 3412 阅读 · 0 评论 -
qt -- 网络编程QHostInfo和QNetworkInterface 类
QHostInfo类lookupHost(),以异步的方式查找主机的IP地址主要函数:QHostAddress类提供一个IP地址的信息,包括Ipv4,Ipv6。QHostAddress有两个主要函数:protocol() :返回QAbstractSocket::NetworkLayerProtocol类型变量,表示当前IP地址的协议类型。QAbstractSocket::NetworkLayerProtocol枚举类型的取值。toString():返回IP地址的...原创 2021-08-17 21:45:14 · 239 阅读 · 0 评论 -
qt -- QSqlQueryModel、QSqlTableModel、QSqIQuery
目录Qt SQL提供的数据库驱动SQLite数据库Qt SQL模块的主要类数据库相关数据模型类的继承关系QSqlQueryModelQSqlTableModelQSqlRelationalTableModelQSqlQuery打开数据表表示记录的类QSqlRecord表示字段的类QSqlFieldQt SQL提供的数据库驱动SQLite数据库 SQLite是一种无需服务器、无需进行任何配置的数据库,所有的数据表、索引等数据库元素全...原创 2021-08-15 22:22:23 · 1722 阅读 · 0 评论 -
qt -- 常用事件函数
事件(event)是由窗口系统产生的由某些操作触发的特殊函数,例如鼠标操作、键盘操作的一些事件,还有窗口显示、关闭、绘制等相关的事件。从 QWidget继承的窗口部件常用的事件函数有如下几种。closeEvent():窗口关闭时触发的事件,通常在此事件做窗口关闭时的一些处理,例如显示一个对话框询问是否关闭窗口。showEvent():窗口显示时触发的事件。paintEvent():窗口绘制事件。mouseMoveEvent():鼠标移动事件。mouseP原创 2021-08-13 22:37:21 · 1432 阅读 · 0 评论 -
qt -- 自定义代理类
自定义代理类的基本设计要求:qt中有关的代理类:QAbstractItemDelegate是所有代理类的抽象基类;QStyledItemDelegate是视图组件使用的缺省的代理类,QItemDelegate也是类似功能的类。QStyledItemDelegate 与 QItemDelegate的差别在于:QStyledItemDelegate可以使用当前的样式表设置来绘制组件,建议使用QStyledItemDelegate作为自定义代理组件的基类。QStyledItemDelega原创 2021-08-13 22:04:40 · 1289 阅读 · 0 评论 -
qt -- QStandardItemModel的使用
QStandardItemModel以项为数据的基础标准数据模型类,通常与QTableView组合成Model/View结构。原创 2021-08-12 22:21:14 · 2636 阅读 · 0 评论 -
qt -- QStringListModel的使用
目录1、Model/View结构对象和组件初始化2、编辑、添加、删除操作1、Model/View结构对象和组件初始化QStringListModel* theModel;QStringList theStrList ;theStrList<<"北京"<<"上海"<<"天津"<<"河北"<<"山东"<<"四川"<<"重庆";theModel = new QStringListModel(t...原创 2021-08-11 22:33:31 · 471 阅读 · 0 评论 -
qt -- QTableWidget的使用
目录1、设置表头2、函数对单元格属性使用3、信号4、插入、删除、添加5、自动调整行高和列宽6、其他属性QTableWidget是Qt中的表格组件类。在窗体上放置一个QTableWidget组件后,可以在propertyEditor里对其进行属性设置,双击这个组件,可以打开一个编辑器,对其Colum、Row和Item行编辑。1、设置表头//设置表头QTableWidgetItem * headerItem;QStringList headerText;hea..原创 2021-08-10 22:50:50 · 2565 阅读 · 0 评论 -
qt -- QMenu菜单
1、QMenu2、QToolBar原创 2020-12-09 23:08:22 · 3649 阅读 · 0 评论 -
qt -- QScrollBar滚动条
1、QScrollBarQScrollBar提供了垂直或水平滚动条。滚动条通常配有其他控件,使导航更加精确。信号:valueChanged() -- 当滚动条的值已经发生改变时,被发射。tracking()决定在用户操作期间,这个信号是否被发射。 sliderPressed() -- 当用户开始拖动滑块时,被发射。 sliderMoved() -- 当用户拖动滑块时,被发射。 sliderReleased() -- 当用户释放滑块时,被发射。 nextLine() --当滚动条已经向.原创 2020-12-09 23:03:23 · 6188 阅读 · 0 评论 -
qt -- QSpinBox、QDoubleSpinBox
1、QSpinBox用于整数的显示和输入,一般显示十进制数,也可以显示二进制、十六进制的数,而且可以在显示框中增加前缀或后缀。2、QDoubleSpinBox用于浮点数的显示和输入,可以设置显示小数位数,也可以设置显示的前缀和后缀。QSpinBox 和 QDoubleSpinBox 的主要属性:属性名称 描述 prefix 数字显示的前缀,例如“$” suffix 数字显示的后缀,例如“kg” minimum 数值范围的最小值,如 0 ..原创 2020-12-09 22:34:52 · 792 阅读 · 0 评论 -
qt -- QComboBox下拉框列表
1、QComboBox 下拉框列表主要的功能是提供一个下拉列表供选择输入。addItem() 用于添加一个列表项,如果只是添加字符串列表项,而且数据来源于一个 QStringList 变量,可以使用 addltems() 函数://定义字符串列表QStringList str;str << "数学" << "语文" << "地理";//将字符串列表绑定 QComboBox 控件,添加项ui->comboBox->addItems(s..原创 2020-12-08 22:40:43 · 4011 阅读 · 0 评论 -
qt -- QLineEdit、QTextEdit 、QPlainTextEdit
1、QLineEdit 单行文本//限制最长输入 12 位lineEdit->setMaxLength(12);//不可写入lineEdit->setEchoMode(QLineEdit::NoEcho);//密码*号输入lineEdit->setEchoMode(QLineEdit::Password);2、QTextEdit 多行文本3、QPlainTextEdit 多行文本...原创 2020-12-08 22:23:24 · 476 阅读 · 0 评论 -
qt -- QMainWindow、QWidget、QDialog、QFrame
继承关系:在Qt中所有的类都有一个共同的基类QObject ,QWidget直接继承QObject和QPaintDevice类,QDialog、QMainWindow、QFrame直接继承QWidget 类。1、 QMainWindowQMainWindow 类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用 程序窗口。主窗口通常用在提供一个大的中央窗口部件(例如文本编辑或者绘制画布)以及 周 围 菜单、工具条和一个状态条。QMainWindow 常常被继承,因为这使得封装中央部件原创 2020-12-07 22:30:47 · 530 阅读 · 0 评论 -
qt -- QPushButton、QToolButton、QCheckBox、QRadioButton、QButtonGroup
1、QPushButton普通按钮,可以提供文字,图标都在按钮上。可以设置一定的界面风格。2、QToolButtonQToolButton类提供了一个快速访问命令或选项的按钮,通常在QToolBar中使用。工具按钮是一种特殊的按钮,提供对特定命令或选项的快速访问。与普通的命令按钮不同,工具按钮通常不显示文字,而是显示一个图标。此按钮功能比QPushButton多。3、QCheckBox4、QRadioButton带有文本标签的单选按钮。一个可以切换选中...原创 2020-12-06 22:37:18 · 743 阅读 · 0 评论 -
qt -- QByteArray
QByteArray类提供了一个字节数组;QByteArray可用于存储原始字节(包括'\0')和传统的以'\0'结尾的8位字符串。使用QByteArray比使用const char *更方便。QByteArray常用于串口通讯中。QByteArray适用的两种主要情况是:当需要存储原始二进制数据时,以及当内存保存非常关键时(例如,对于嵌入式Linux使用Qt)。1. 初始化初始化QByteArray的一种方法是简单地将const char *传递给它的构造函数。例如:QByteArr原创 2020-12-06 16:29:33 · 8824 阅读 · 1 评论 -
qt -- setGeometry函数的使用
ui->progressBar->setGeometry(0, 0, 60, 60 );从窗体的(0,0)位置开始(即为最左上角的点),显示一个60*60的控件(宽60,高60)。此函数的底层实现代码: void BorderLayout::setGeometry(const QRect &rect) { ItemWrapper *center = 0; int eastWidth = 0; int westWidth = 0;原创 2020-12-06 15:11:42 · 20830 阅读 · 0 评论 -
qt -- 网络编程TCP
1、原创 2021-08-22 13:09:00 · 642 阅读 · 0 评论 -
qt -- setEnabled() 、 setClickable()
一、setEnabled(bool) true:可编辑,激活按钮,可以触发事件false:不可编辑状态 ,无论是否可点击(即使将setClickable()设置成true), 都无法响应任何触发事件二、setClickable(bool)true: 按钮可点击false:按钮不可点击...原创 2020-12-02 22:11:56 · 5715 阅读 · 0 评论 -
qt -- raise()、hide()、isHidden()、setVisible()、isVisible()、close()的解释
1、raise()[slot] void QWidget::raise()将此窗体提升到父窗体堆栈的顶部。在此调用之后,窗体将位于任何重叠的同级窗体的前面。2、hide()3、isHidden()4、setVisible()5、isVisible()6、close()原创 2020-12-02 21:54:22 · 14674 阅读 · 0 评论 -
qt -- show()和exec()的区别
一、QDialog的show()和exec()定义1、exec() int QDialog::exec()将对话框显示为模态对话框,直到用户关闭为止。该函数返回一个DialogCode结果。如果对话框是application模式的,用户不能与同一application中的任何其他窗口交互,直到他们关闭对话框。如果对话框是窗口模式的,只有与父窗口的交互在对话框打开时被阻止。默认情况下,对话框是应用程序模态的。2、show() void QWidget::show() ...原创 2020-12-01 22:43:30 · 1959 阅读 · 0 评论 -
qt -- 容器类
目录一、顺序容器类1、QList2、QLinkedList3、QVector4、QStack5、 QQueue二、关联容器类1、QSet2、QMap3、QMultiMap4、QHash5、QMultiHash一、顺序容器类顺序容器类有: QList、QLinkedList、QVector、QStack 、QQueue。1、QListQList以数组列表的形式实现的,在其前或后添加数据非常快,QList 以下标索引的方式进行数据的访问。..原创 2020-11-29 21:09:39 · 761 阅读 · 0 评论 -
qt -- 对话框(文件对话框QFileDialog、消息对话框QMessageBox)
一、文件对话框 QFileDialog常用静态函数 函数解释 QString getOpenFileName() 选择打开一个文件 QStringList getOpenFileNames() 选择打开多个文件 QString getSaveFileName() 选择保存一个文件 QString getExistingDirectory() 选择一个己有的目录 QUrl getOpenFileUrl() 选择打幵一个文件,可选择远程网络文件 .原创 2020-11-19 23:36:44 · 456 阅读 · 0 评论 -
qt -- 信号和槽理解
信号(Signal):在特定的条件下被发射的事件。例如:QPushButton的点击发射一个clicked信号。自定义信号:Signals: void signalClicked();//不带参数的信号 void signalClicked(QString);//带参数的信号//信号的发射emit signalClicked();槽(Slot):是对信号响应的函数(就是一个函数)。可以定义在类的任何部分(public、private 或 protected)。槽函数与一般原创 2020-11-18 23:20:43 · 625 阅读 · 0 评论 -
qt -- 获取当前时间 QDateTime、QTime、QDate
一、时间日期类型:QTime:时间数据类型,表示时间,如:14:23:13。 QDate:日期数据类型,表示日期,如:2020-4-5。 QDateTime:日期时间数据类型,表示日期和时间,如:2020-03-23 08:12:43。QDateTime:QDateTime dateTime= QDateTime::currentDateTime();//获取系统当前的时间QString str = dateTime .toString("yyyy-MM-dd hh:mm:ss");//原创 2020-11-18 22:55:27 · 49075 阅读 · 1 评论 -
qt -- 创建Qt项目以及对.pro、.h文件的介绍
一、创建项目Locationkits(构建套件)Details(类信息)汇总注意:点击创建项目后, 选择项目路径以及给项目起名称。 名称---不能有中文、不能有空格、不能有中文路径。 默认创建有窗口类,基类有三种选择: QWidget 、QMainWindow.QDialogmain函数 Application a 应用程序对象, 有且仅有一个。 myWidget w 实例化窗口对象。 w.show()调用 show函数显示窗口。 return...原创 2020-10-08 17:09:41 · 2799 阅读 · 0 评论