【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动画播放之QMovie类[通俗易懂]
- qt交叉编译环境搭建_qt socket
- C/C++ Qt 命令行版网络通信
- QT软件开发-基于FFMPEG设计视频播放器-软解图像(一)
- 一些Qt对话框类
- Qt状态更改事件
- Linux系统使用Qt开发快速入门教程(linux下qt教程)
- 轻松玩转Linux Qt开发(Linuxqt开发书籍)
- 使用 Qt 连接远程 MySQL 数据库(qt连接远程mysql)
- Qt在Linux上的移植实践(qt移植到linux)
- Linux安装Qt:一步一步指南(linux安装qt)
- Qt MDI及其使用方法(详解版)
- Qt自定义对话框及调用方法(无师自通)
- 在Linux系统下利用Qt程序设计实现的精彩之旅(linux与qt程序设计)
- 在Linux上体验Qt的魅力(linux下运行qt)
- 安装Linux系统,学习QT开发技术(linux安装qt教程)
- Linux下Qt源码编译实践(qt源码编译linux)
- 在 Linux 上快速搭建 Qt 运行环境(qt运行环境linux)
- Qt蓝牙编程指南:在Linux系统上使用Qt开发蓝牙应用程序(qt蓝牙编程linux)
- Linux编译Qt库:从零开始(linux编译qt库)
- 基于 Qt/Linux 平台的跨平台移植研究(qtlinux移植)
- 数据库使用Qt连接Oracle数据库:一步一步实现(qt连接oracle)
- Qt与Oracle数据库的高效结合(qt数据库oracle)
- 如何在Linux下编译Qt?(linux下编译qt)
- Qt跨平台编译MySQL驱动实践(qt编译mysql驱动)
- 快速使用QT进行MySQL数据库操作(qt使用mysql数据库)
- 连接在 Qt 中使用 Redis 连接(qtredis)
- 利用Qt轻松操作Oracle数据库(qt操作oracle)
- 入门Linux下Qt编程,掌握技巧!(linux下qt编程入门)
- Redis使用Qt解决读写互斥问题(redis读写互斥qt)