前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )

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

作者头像
韩曙亮
发布2023-03-29 08:50:33
1.6K0
发布2023-03-29 08:50:33
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 创建 Qt 桌面程序 | 构建并运行 Qt 桌面程序 ) 博客中 , 创建了一个空的 Qt 桌面程序 , 并运行 ;

在本博客中简单介绍下 Qt 桌面程序的开发 ;

一、添加按钮控件


双击 Forms 下的 widget.ui 文件 , 进入界面编辑面板 ,

从左侧的组件列表中 , 拖拽一个 Push Button , 到主面板中 ,

此时构建运行 Qt 桌面程序 , 在主界面中就会有一个 PushButton 按钮 ;

二、修改按钮文本


在主面板中双击 PushButton , 可以编辑按钮文本 ,

编辑后效果 :

三、为按钮添加点击事件 ( 弹出对话框 )


右键点击按钮 , 选择 " 转到槽… " ,

在弹出的对话框中选择第一个 " clicked() " 函数 , 点击 " OK " 按钮 , 此时

此时会在 widget.cpp 中自动生成如下代码 , 并自动跳转到该代码处 ;

代码语言:javascript
复制
void Widget::on_pushButton_clicked()
{

}

导入头文件 : 导入 QMessageBox 头文件 ;

代码语言:javascript
复制
// 弹出对话框的头文件
#include "QMessageBox"

弹出对话框 : 调用 QMessageBox::information 方法 , 弹出对话框 , 输入的三个参数分别是上下文对象 , 对话框标题 , 对话框内容 ;

代码语言:javascript
复制
void Widget::on_pushButton_clicked()
{
    // 第一次参数是 Widget 对象
    // 第二个参数是对话框标题
    // 第三个参数是对话框文本内容
    QMessageBox::information(this, "Hello", "Hello World, Qt!");
}

完整代码 :

代码语言:javascript
复制
#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 点击方法 ,

自动生成的方法如下 :

在该点击方法中 , 使用系统调用打开记事本 ;

代码语言:javascript
复制
// 打开记事本
system("notepad");

完整代码 :

代码语言:javascript
复制
#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 点击方法 ,

自动生成的方法如下 :

在该点击方法中 , 使用系统调用打开计算器 ;

代码语言:javascript
复制
// 打开计算器             
system("calc");      

完整代码 :

代码语言:javascript
复制
#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 头文件 ;

代码语言:javascript
复制
// 使用 WinExec 函数的头文件
#include "Windows.h"

打开记事本 :

代码语言:javascript
复制
// 打开记事本 , 不弹出命令窗口                 
WinExec("notepad", SW_NORMAL);     

打开计算器 :

代码语言:javascript
复制
// 打开计算器 , 不弹出命令窗口           
WinExec("calc", SW_NORMAL);  

完整代码 :

代码语言:javascript
复制
#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 常用命令
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、添加按钮控件
  • 二、修改按钮文本
  • 三、为按钮添加点击事件 ( 弹出对话框 )
  • 四、为按钮添加点击事件 ( 打开记事本 )
  • 五、为按钮添加点击事件 ( 打开计算器 )
  • 六、去掉系统调用时弹出的 cmd 命令行窗口
  • 七、博客资源
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档