【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )
文章目录
- 一、添加按钮控件
- 二、修改按钮文本
- 三、为按钮添加点击事件 ( 弹出对话框 )
- 四、为按钮添加点击事件 ( 打开记事本 )
- 五、为按钮添加点击事件 ( 打开计算器 )
- 六、去掉系统调用时弹出的 cmd 命令行窗口
- 七、博客资源
在 【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 创建 Qt 桌面程序 | 构建并运行 Qt 桌面程序 ) 博客中 , 创建了一个空的 Qt 桌面程序 , 并运行 ;
在本博客中简单介绍下 Qt 桌面程序的开发 ;
一、添加按钮控件
双击 Forms 下的 widget.ui 文件 , 进入界面编辑面板 ,
从左侧的组件列表中 , 拖拽一个 Push Button , 到主面板中 ,
此时构建运行 Qt 桌面程序 , 在主界面中就会有一个 PushButton 按钮 ;
二、修改按钮文本
在主面板中双击 PushButton , 可以编辑按钮文本 ,
编辑后效果 :
三、为按钮添加点击事件 ( 弹出对话框 )
右键点击按钮 , 选择 " 转到槽… " ,
在弹出的对话框中选择第一个 " clicked() " 函数 , 点击 " OK " 按钮 , 此时
此时会在 widget.cpp 中自动生成如下代码 , 并自动跳转到该代码处 ;
void Widget::on_pushButton_clicked() {}导入头文件 : 导入 QMessageBox 头文件 ;
// 弹出对话框的头文件 #include "QMessageBox"弹出对话框 : 调用 QMessageBox::information 方法 , 弹出对话框 , 输入的三个参数分别是上下文对象 , 对话框标题 , 对话框内容 ;
void Widget::on_pushButton_clicked() {// 第一次参数是 Widget 对象// 第二个参数是对话框标题// 第三个参数是对话框文本内容QMessageBox::information(this, "Hello", "Hello World, Qt!"); }完整代码 :
#include "widget.h" #include "ui_widget.h"// 弹出对话框的头文件 #include "QMessageBox"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }void Widget::on_pushButton_clicked() {// 第一次参数是 Widget 对象// 第二个参数是对话框标题// 第三个参数是对话框文本内容QMessageBox::information(this, "Hello", "Hello World, Qt!"); }运行效果 :
四、为按钮添加点击事件 ( 打开记事本 )
在 widget.ui 界面中 , 拖动 Push Button 到面板上 , 然后双击编辑按钮文字 , 右键点击按钮 , 选择 " 转到槽 " ,
在弹出的对话框中选择 " onClicked() " 方法 , 点击 " OK " 按钮 , 就会自动生成一个 on_pushButton_2_clicked 点击方法 ,
自动生成的方法如下 :
在该点击方法中 , 使用系统调用打开记事本 ;
// 打开记事本 system("notepad");完整代码 :
#include "widget.h" #include "ui_widget.h"// 弹出对话框的头文件 #include "QMessageBox"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }void Widget::on_pushButton_clicked() {// 第一次参数是 Widget 对象// 第二个参数是对话框标题// 第三个参数是对话框文本内容QMessageBox::information(this, "Hello", "Hello World, Qt!"); }void Widget::on_pushButton_2_clicked() {// 打开记事本system("notepad"); }运行效果 :
五、为按钮添加点击事件 ( 打开计算器 )
在 widget.ui 界面中 , 拖动 Push Button 到面板上 , 然后双击编辑按钮文字 , 右键点击按钮 , 选择 " 转到槽 " ,
在弹出的对话框中选择 " onClicked() " 方法 , 点击 " OK " 按钮 , 就会自动生成一个 on_pushButton_3_clicked 点击方法 ,
自动生成的方法如下 :
在该点击方法中 , 使用系统调用打开计算器 ;
// 打开计算器 system("calc");完整代码 :
#include "widget.h" #include "ui_widget.h"// 弹出对话框的头文件 #include "QMessageBox"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }void Widget::on_pushButton_clicked() {// 第一次参数是 Widget 对象// 第二个参数是对话框标题// 第三个参数是对话框文本内容QMessageBox::information(this, "Hello", "Hello World, Qt!"); }void Widget::on_pushButton_2_clicked() {// 打开记事本system("notepad"); }void Widget::on_pushButton_3_clicked() {// 打开计算器system("calc"); }运行效果 :
六、去掉系统调用时弹出的 cmd 命令行窗口
每次使用 System 系统调用时 , 就相当于在控制台中调用了相应的命令 ;
如果不想弹出控制台窗口 , 可以使用 WinExec 函数 ;
导入头文件 : 使用 WinExec 函数前 , 需要导入 Windows.h 头文件 ;
// 使用 WinExec 函数的头文件 #include "Windows.h"打开记事本 :
// 打开记事本 , 不弹出命令窗口 WinExec("notepad", SW_NORMAL);打开计算器 :
// 打开计算器 , 不弹出命令窗口 WinExec("calc", SW_NORMAL);完整代码 :
#include "widget.h" #include "ui_widget.h"// 弹出对话框的头文件 #include "QMessageBox"// 使用 WinExec 函数的头文件 #include "Windows.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }void Widget::on_pushButton_clicked() {// 第一次参数是 Widget 对象// 第二个参数是对话框标题// 第三个参数是对话框文本内容QMessageBox::information(this, "Hello", "Hello World, Qt!"); }void Widget::on_pushButton_2_clicked() {// 打开记事本, 会弹出命令窗口//system("notepad");// 打开记事本 , 不弹出命令窗口WinExec("notepad", SW_NORMAL); }void Widget::on_pushButton_3_clicked() {// 打开计算器, 会弹出命令窗口//system("calc");// 打开计算器 , 不弹出命令窗口WinExec("calc", SW_NORMAL); }运行效果 :
七、博客资源
本博客资源 : https://download.csdn.net/download/han1202012/15896191
- Qt 源码
- Windows 常用命令
总结
以上是生活随笔为你收集整理的【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 【Visual Studio 2019】
- 下一篇: 【C 语言】Windows 下使用 gc