在 【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");
}
运行效果 :
每次使用 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