zl程序教程

您现在的位置是:首页 >  工具

当前栏目

【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )

2023-06-13 09:17:49 时间

文章目录

【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 常用命令