QT实战教程
文章平均质量分 83
以实战为线索,逐步深入QT开发的各个环节。
微小冷
这个作者很懒,什么都没留下…
展开
-
QT常用控件
对于任何GUI库,绝大多数控件都属于不必学习的内容。其原因在于,控件量比较大,同时学习门槛十分低,某些知识点过于杂乱,学了之后很难记住。大多数介绍GUI编程的书籍,都喜欢用控件库来水字数,而与其看这些字数,还不如看官方文档。所以本节将一些常用的控件全部罗列出来,如下图所示其中,绝大多数动作的添加方式,都是右键转到槽,而最常用的几种为clicked():点击时执行函数。stateChanged():状态变化时执行函数,还有一系列xxChanged都表示xx变化时执行,这个函数往往以变化后的值为参原创 2022-05-04 17:25:24 · 2409 阅读 · 1 评论 -
QT实现动态布局
布局绝大多数使用电脑的人,都需要和控件打交道,所以很多控件都是一看就知道其操作逻辑,故而不必学,用着用着就会了。而布局相对来说是被隐藏掉了的,所以相对于可见的控件,就更应该做一点说明。首先拖动5个pushButton到窗口中,此时如果运行,这几个按钮的位置并不会随着窗口的拉伸而发生任何变化,可见这就是一种绝对的布局方法。接下来拖动一个Layouts中的Vertical Layout,然后将按钮一个个地拖入红色框框中,然后鬼酷的一幕发生了即在没有认为指定位置的情况下,QT自动为这些按钮排好了顺序。原创 2022-05-01 13:26:38 · 5673 阅读 · 3 评论 -
QT异步命令行:信号和槽在QProcess中的应用
QT实战教程:QT初步之计时器QT信号与槽QT多线程实战QT文件读写QT调用外部程序用QT打造一个系统命令行文章目录信号和槽实现cd功能信号和槽尽管目前已经完成了一个看上去能用的命令行,但从程序的结构来说,并不十分QT。QT编程中最与众不同的概念其实是信号和槽,而QProcess这种炫酷的功能,显然也会提供相应的信号,以实现更加方便的异步操作。如果查看源代码,可以看到QProcess中定义了如下信号Q_SIGNALS: void started(QPrivateSignal原创 2022-04-28 08:14:55 · 2669 阅读 · 1 评论 -
用QT打造一个系统命令行
QT实战教程:QT初步之计时器QT信号与槽QT多线程实战QT文件读写QT调用外部程序在了解到QProcess的强大之处后,就可以实现一个系统的命令行了。新建一个QT项目,然后拖动一个lineEdit改名为lineCode;拖动一个textBrowser改名为txtRecv。右键lineEdit转到槽,为其添加一个returnPressed()动作。其代码为void MainWindow::on_lineCode_returnPressed(){ QProcess cmd;原创 2022-04-25 09:39:21 · 3880 阅读 · 2 评论 -
QProcess调用外部程序
QT实战教程:QT初步之计时器QT信号与槽QT多线程实战QT文件读写文章目录调用系统指令系统指令返回值调用系统指令针对类似复制、移动等功能,显然操作系统提供了更加完备的指令。QT提供了QProcess类,用于调用系统指令,就像C语言中的system一样。例如,在Windows中也提供了复制命令copy,那么拖动一个按钮,改名为btnCopyFile,然后转到槽,添加click动作void MainWindow::on_btnCopyFile_clicked(){ QStrin原创 2022-04-23 09:05:11 · 2439 阅读 · 0 评论 -
QT文件读写实战教程
QT实战教程:QT初步之计时器QT信号与槽QT多线程实战文章目录文件对话框读取文件写入文件复制和剪切文件对话框在详细了解QT的文件读写功能之前,可以先实现一个小功能,即选择一个文件,并将这个文件名显示出来。先在设计界面拖三个控件,分别是pushButton,lineEdit以及textBrowser。将后两者改名为lineTitle和txtContent,然后为pushButton添加槽,即右键->转到槽->click(),然后在自动生成的代码中添加#include "qfi原创 2022-04-22 07:12:19 · 1620 阅读 · 0 评论 -
QT多线程实战
文章目录需求的提出多线程线程间通信需求的提出窗口本身就是一个死循环,在这样一个死循环中执行任何耗时的操作,都会导致程序崩溃。所以多线程对于窗口编程而言是必要的。例如,在窗口中拖入一个pushButton和lineEdit,将pushButton的名字改为pbStart,然后为其绑定一个函数,函数中创建一个死循环,并让死循环中的内容实时输出到lineEdit。接下来设计一个逻辑,当点击pbStart之后,开始执行死循环,同时按钮内容变为Stop;当按钮内容为Stop时,点击按钮,停止执行死循环。所以原创 2022-04-20 15:04:53 · 2388 阅读 · 1 评论 -
QT的信号和槽
信号和槽从connect出发,可以更方便地理解信号和槽的机制,其调用格式为connect(sender, SIGNAL(signal()), receiver, SLOT(slot()));其功能为,sender通过signal发送一个信号,然后receiver接收信号之后,执行slot函数。例如,可在设计窗口拖动一个pushButton,然后右键->转到槽,接下来会弹出一个对话框用以选择信号,其中最常用的就是clicked(),也就是被点击。当选择确定之后,会在.h文件中自动创建priv原创 2022-03-21 12:26:32 · 1409 阅读 · 0 评论 -
用QT实现一个计时器
首先新建工程,Ctrl+N->Application(Qt)->Qt Widgets Application,然后进入设置界面,名称和路径随意就好;Build System不考虑性能用qmake比较简单;剩下的采用默认选项就行。初始化结束后,其项目文件组织如下Timer.pro 此为工程文件Headers 用于存放头文件的目录Sources 用于存放源代码Forms 用于存放.ui文件,即界面设计文件双击Forms下面的mainwindow.ui文件,进入图形化的UI编辑界面,左原创 2022-03-20 09:44:10 · 7801 阅读 · 0 评论