QT软件开发
蜀中豪杰
生命不息,折腾不止,学无止境
展开
-
QT基础学习之数据库(一)
QT基础学习之数据库一、数据库简介Qt 中的Qt SQL模块提供了对数据库的支持。该模块中的众多类基本可以分三层,如图所示:其中驱动层为具体的数据库和SQL接口层之间提供了底层的桥梁;SQL接口层提供了对数据库的访问,其中的QSqlDatabase类用来创建连接,QSqlQuery类可以使用SQL语句来实现与数据库交互,其他几个类对该层提供了支持;用户接口层的几个类实现了将数据库中的数据链接到窗口部件上,它们是更高层次的抽象,即便不熟悉SQL也可以操作数据库。如果要使用Qt SQL模块中的这些类,需原创 2020-07-22 14:40:31 · 881 阅读 · 0 评论 -
QT入门学习之TCP
1、TCP简介TCP是一个用于数据传输的低层的网络通信协议,HTTP、TCP这些互联网协议都是基于TCP协议的。TCP是一个面向数据流和链接的可靠传输协议。QTcpSocket类为TCP提供了一个接口,该类也继承自QAbstractSocket。可以使用QTcpSocket来实现POP3、SMTP、NNTP等标准的网络协议,也可以实现自定义的网络协议。与QUdpSocket传输的数据包不同,QT...原创 2019-12-04 13:48:51 · 585 阅读 · 0 评论 -
Qt入门学习之网络通信
QtNetwork模块简介Qt中的Qt Network模块用来编写基于TCP/IP的网络程序,其中提供了较低层次的类。如:QTcpSocket、QTcpServer和QUdpSocket等来表示较低层次的网络概念;也提供了高层次的类,如:QNetworkRequest、QNetworkReply和QNetworkAccessManager使用通用协议来执行网络操作;还提供了QNetworkCon...原创 2019-12-03 17:08:44 · 876 阅读 · 0 评论 -
Qt入门学习之美化与样式设置
Qt应用程序运行界面美化与样式设置原创 2019-11-22 14:45:41 · 2740 阅读 · 0 评论 -
QT入门学习之应用程序国际化
所谓国际化指的是使用Qt Linguist(Qt语言家)翻译程序的基本流程和自动判断程序运行的语言环境。国际化的英语表述为Inernationalization,通常简写为I18N,一个应用程序的国际化就是使该应用程序可以在其他国家的用户使用的过程。在Qt中所有的输入部件和文本绘制方式对Qt所支持的所有语言提供内置的支持。一、使用Linguist翻译程序的基本流程在Qt中编写代码时要对需要...原创 2019-11-20 16:38:05 · 252 阅读 · 0 评论 -
Qt入门学习之常用界面设计组件(三)
1.QSlider、QScrollBar、QDial、QProcessBar、QLCDNumber介绍除了前面两节介绍到的QLineEdit和QSpinBox之外,还有其他的一些用于数值输入和显示的组件。如下:QSlider:滑动条,通过滑动来设置数值,可用于数值输入。QScrollBar:卷滚条,与QSlider功能类似,还可以用于卷滚区域。QProgressBar:进度条,一般用于显示...原创 2019-03-28 14:50:49 · 1981 阅读 · 0 评论 -
Qt入门学习之常用界面设计组件(五)
1.QComboBox简介QComboBox是下拉列表框组件类,它提供了一个下拉表供用户选择。也可以直接当作一个QLineEdit用作输入。QComboBox除了显示可见下拉列表外,每一个项(item,或称列表项)还可以关联一个QVariant类型的变量用于存储一些不可见数据。2.QComboBox的使用I.设计时属性的设置QComboBox主要的功能是提供一个下拉列表供选择输入。在界面...原创 2019-04-08 18:01:19 · 1809 阅读 · 1 评论 -
剖析Qt的ui_*.h文件
在QT工程中的mainwindow.h常见的几行:namespace Ui { class MainWindow; } ......private: Ui::MainWindow *ui;在QT工程中的mainwindow.cpp常见的几行:#include "ui_mainwindow.h" MainWindow::MainWindow(QWi...原创 2019-06-10 11:28:39 · 5584 阅读 · 0 评论 -
剖析MainWindow.cpp
MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow){ ui->setupUi(this);}这是C++继承,说明 MainWindow 的构造函数之前需要调用父类 QMainWindow 的带有参数的构造函数。MianWindow是一个类,“::”(作用域区分符...原创 2019-06-10 11:37:40 · 1830 阅读 · 0 评论 -
QSqlitter使用
QSplitter的使用QSplitter的用途QSplitter使得用户可以通过拖动子窗口之间的边界来控制它们的大小,例如:QSplitter的添加方法QSplitter的添加方法有2种:a)通过Qt Creator的界面设计工具添加;b)直接使用C++代码添加。通过Qt Creator添加QSplitter控件与Push Button等控件的添加方法不同,在“设计”视图左侧的控件...原创 2019-06-27 15:55:31 · 472 阅读 · 0 评论 -
Qt入门学习之常用界面设计组件(四)
1.时间日期与定时器I. 时间日期时间日期是经常遇到的数据类型,Qt中时间日期类型如下:QTime:时间数据类型,仅表示时间,如:15:32:19(时:分:秒)QDate:日期数据类型,仅表示日期,如:2017-4-5(年-月-日)QDateTime:日期时间数据类型,表示日期和时间,如2017-03-23 08:12:43(年-月-日 时:分:秒)Qt中专门用于日期、时间编辑和显示的...原创 2019-04-04 11:35:46 · 947 阅读 · 0 评论 -
Qt入门学习之容器类
1. 容器类的简介和特性I.容器类简介存储容器(containers)有时候也被称为集合(collections),是能够在内存中存储其它特定类型的对象,通常是一些常用的数据结构,一般是通用模板类的形式。C++ 提供了一套完整的解决方案,作为标准模板库(Standard Template Library)的组成部分,也就是常说的 STL。Qt 提供了另外一套基于模板的容器类。相比 STL,这...原创 2019-03-22 15:54:49 · 506 阅读 · 0 评论 -
Qt入门学习之Qt全局定义
头文件包含了Qt类库的一些全局定义,包括基本的数据类型,函数和宏。一般的Qt类的头文件都会包含该文件中,所以不要显示的包含该文件也可以使用其中定义的内容。1. 数据类型的定义为确保在各个平台上的各个数据类型都有统一的长度,Qt为各个常见的数据类型定义了类型的符号,如:qint8就是signed char的类型定义:typedef signed char qint82.函数头文件包含...原创 2019-03-22 11:45:34 · 2662 阅读 · 0 评论 -
QT入门学习之信号与槽(补充)
由上一节知使用connect()可以让我们连接系统提供的信号和槽。Qt 的信号槽机制并不仅仅是使用系统提供的那部分,还会允许我们自己设计自己的信号和槽。信号槽不是 GUI 模块提供的,而是 Qt 核心特性之一。因此,我们可以在普通的控制台程序使用信号槽。我们以经典的观察者模式的报纸和阅读者实验来学习自定义信号与槽注:该部分内容原内容出自《Qt学习之路2》这本经典书籍的第5节1. 实验理论原理...原创 2019-03-19 15:49:22 · 352 阅读 · 0 评论 -
QT入门学习之QT开发环境搭建
1. 下载在QT官网的下载页面http://download.qt.io/archive/qt/找到最新版本的QT软件(也可以是其他版本的QT软件)进行下载。我这里使用的是最新版本的5.12版的QT软件进行QT的学习。2. 安装双击qt-opensource-windows-x86-5.12.1.exe文件开始安装QT软件,像安装windows其他文件一样直接next操作,直到弹出下面的窗体...原创 2019-03-15 15:46:40 · 1525 阅读 · 0 评论 -
Qt入门学习之主窗体类QMainWindow
1. 主窗体类QMainWindow简介QMainWindow是 Qt 框架带来的一个预定义好的主窗口类。所谓主窗口,就是一个普通意义上的应用程序(不是指游戏之类的那种)最顶层的窗口。比如你现在正在使用的浏览器,那么主窗口就是这个浏览器窗口。QMainWindow的布局是由一个标题栏,一个菜单栏,若干工具栏和一个任务栏。在这些子组件之间则是工作区。2. 依托主窗体类创建项目,并在主窗体中进行菜...原创 2019-03-20 17:13:23 · 2765 阅读 · 0 评论 -
QT入门学习之软件程序开发初体验
使用Qt Creater软件编写一个“Hello World”程序,初步了解Qt Creater设计应用程序的基本过程。1. 新建一个项目过程1)打开Qt Creater软件,单击Qt Creater软件的菜单项"File">>>>“New File or Project"弹出New File or Project对话框。在这个对话框里选择需要创建的项目或者文原创 2019-03-18 09:58:44 · 3107 阅读 · 0 评论 -
Qt入门学习之Qt元对象特性
Qt 是一个用标准 C++ 编写的跨平台开发类库,它对标准 C++ 进行了扩展,引入了元对象系统、信号与槽、属性等特性,使应用程序的开发变得更高效。Qt的元对象编译器(MOC)是一个预处理器,在源程序被编译前先将Qt特性的程序转换为标准C++兼容的形式,然后再由标准C++编译器进行编译。这就是为什么使用信号与槽机制的类里必须添加一个Q_OBJECT宏的原因,只有添加了这个宏,moc才能对类里的信...原创 2019-03-21 17:04:59 · 831 阅读 · 0 评论 -
QT入门学习之UI文件设计与运行机制
在Qt Creatrer中新建一个Widget Application项目demo1,其基类选择QWidget作为窗体基类,并选择“Generrate form”复选框,让其自动生成.UI文件。1. 项目文件组成1). 项目组织文件demo1.pro,存储项目设置的文件2). 主程序入口文件main.cpp,实现main()函数的程序文件3). 窗体界面文件widget.ui文件,一个XM...原创 2019-03-18 13:19:42 · 588 阅读 · 0 评论 -
Qt入门学习之常用界面设计组件(一)
Qt类库为应用程序设计提供了大量的类,该部分主要介绍设计GUI应用程序常用的各种界面组件。该部分中的本节内容主要介绍用于字符串的输入输出及数据类型转换等知识。1.字符串的与数值间的转换在使用Qt进行GUI见面设计常用到的组件Qlabel和QLineEdit。QLabel用于显示字符串,QLineEdit用于显示和输入字符串。这两个组件都有如下两个函数用于读取和设置显示的文字。QString ...原创 2019-03-25 14:47:02 · 1961 阅读 · 0 评论 -
Qt入门学习之常用界面设计组件(二)
QSpinBox用于整数的显示和输入,一般显示十进制,也可以显示二进制,十六进制的数,而且可以在显示框中增加前缀或者后缀。SQpinBox组件的使用以下面的实验作为载体学习QSpinBox和QDoubleSpinBox这两个组件的使用。功能和前一节的功能相同只是将组件QLineEdit换成了QSpinBox,QDoubleSpinBox作为数字的输入输出组件。如下所示:QSpinBox 和...原创 2019-03-25 15:07:06 · 1091 阅读 · 0 评论 -
QT入门学习之UI设计布局管理
1. QT Designer 可视化UI设计及布局管理创建一个Qidget Application项目demo2.在创建窗体时选择基类QDialog,生成的类命名为QWDialog,并选择生成窗体。这样生成的项目文件中就会自动生成qwdialog.ui文件、一个头qwdialog.h和一个源程序文件qwdialog.cpp,项目文件demo2.pro和主程序文件main.cpp。1) 使用QT...原创 2019-03-18 17:12:15 · 11662 阅读 · 0 评论 -
QT入门学习之信号与槽
信号与槽是Qt编程的基础,信号与槽机制让界面各个组件的交互操作时变得更加直观和简单。所有从QObject或其子类(例如Qwidget)派生的类都能够包含信号和槽。当对象改动其状态时,信号就由该对象发射(emit)出去,这就是对象所要做的全部事情,他不知道另一端是谁在接收这个信号。这就是真正的信息封装,他确保对象被当作一个真正的软件组件来使用。槽用于接收信号,但他们是普通的对象成员函数。一个槽并不知...原创 2019-03-19 14:47:11 · 1100 阅读 · 0 评论