文章目录

  • 一、添加按钮控件
  • 二、修改按钮文本
  • 三、为按钮添加点击事件 ( 弹出对话框 )
  • 四、为按钮添加点击事件 ( 打开记事本 )
  • 五、为按钮添加点击事件 ( 打开计算器 )
  • 六、去掉系统调用时弹出的 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 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )相关推荐

  1. qt建立一个按钮控件

    1.如果建立一个按钮控件 2.指定按钮控件的父对象 3.指定按钮控件的位置 4.设置按钮控件的大小 1.如果建立一个空间按钮 在头文件加上:#include<QPushButton>.(记 ...

  2. 【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 创建 Qt 桌面程序 | 构建并运行 Qt 桌面程序 )

    文章目录 一.创建 Qt 桌面程序 二.构建并运行 Qt 桌面程序 一.创建 Qt 桌面程序 首先要安装 Qt 开发环境 , 参考 [Qt]Qt 开发环境安装 ( Qt 版本 5.14.2 | Qt ...

  3. QT GUI开发(一):保姆级VS2015配置QT开发环境

    QT GUI开发(一):保姆级VS2015配置QT开发环境 前言 一. QT环境搭建 1.1 QT安装 1.2 VS中安装工具库 二. QT简单工程示例 三. 小结 前言 做软件开发,特别是用户图形界 ...

  4. qt 关闭窗口的槽函数_勇哥的VC++应用框架学习之QT(1) 信号槽、按钮控件、opencv读取显示图片...

    前言勇哥对于C语言,C++早些年有一些接触,这个系列贴子就记载一下C++应用框架的学习经验. 在写程序时,UI.基础类库.应用程序框架对于vc来讲,只能依靠MFC和QT了. 勇哥对MFC有很强的抵触, ...

  5. 【Visual Studio 2019】创建 MFC 桌面程序 ( 安装 MFC 开发组件 | 创建 MFC 应用 | MFC 应用窗口编辑 | 为按钮添加点击事件 | 修改按钮文字 | 打开应用 )

    文章目录 一.安装 MFC 开发组件 二.创建 MFC 应用 三.MFC 应用窗口编辑 四.为按钮添加点击事件 五.修改按钮文字 六.打开系统其它应用 七.博客源码 一.安装 MFC 开发组件 打开 ...

  6. QT旋转按钮控件的实现

    目录 一.实现需求:鼠标hover时旋转 二.实现方式:计时器做动画 三.代码实现 QT旋转按钮控件的实现 一.实现需求:鼠标hover时旋转 需求是:实现类似于WINDOWS下,某些软件窗口关闭按钮 ...

  7. qt设置边框颜色_Qt开源作品14-导航按钮控件

    ## 一.前言 导航按钮控件,主要用于各种漂亮精美的导航条,我们经常在web中看到导航条都非常精美,都是html+css+js实现的,还自带动画过度效果,Qt提供的qss其实也是无敌的,支持基本上所有 ...

  8. QT上设置背景图不影响子控件以及按钮控件的透明化

    QT中设置背景图不影响子控件 QT中设置背景图的方法不少,我这里是直接使用stylesheet来设置背景图.如果直接在UI界面进行如下所示设置 border-image: url(:/resource ...

  9. QT编程 之 为Label添加点击事件

    在使用QT编程过程中发现QLabel没有点击事件,很多想法就不能很好的实现.经过搜索和实践,分享一个兼容性更好,更灵活的方法- - - -重写QLabel.简单的说就是写一个子类,继承自QLabel, ...

最新文章

  1. MongoDB(3)--有关NoSQL及MongoDB的一些概念
  2. tx2 numba报错
  3. cms查询系统(一)背景以及需求分析与设计
  4. 浅谈 Python 程序和 C 程序的整合
  5. C#语法:正则表达式 --Trim()的实现
  6. 什么行业需要java_java开发可以从事什么行业
  7. php屏幕共享功能,利用无线投屏技术同屏直播,精彩随时共享
  8. XSS和CSRF详解与防御
  9. java annotation 实现_在Java中如何实现自己的annotation
  10. java算法题走楼梯,程序员必学算法「动态规划」:爬楼梯(完全背包解法)
  11. python字典元素的值是否相等_对Python中等值和大小比较
  12. 文件与i o流java实_JavaFile I/O流
  13. 硅谷初创企业控制成本 裁员风渐起
  14. 通过几种方式来查看windows vista的激活状态
  15. 【数据库系统】C#窗体应用显示用户sa登录失败
  16. 2021年3月31最新论文(计算机视觉,图像分割,图像识别,图像分类)
  17. 136、易燃固体的概念
  18. 记一次搜狐畅游后台开发笔试
  19. Spring源码之启动过程(四)—— Bean的实例化详解
  20. XML里的<![CDATA[<=]]>是什么意思?

热门文章

  1. 在进度面前,质量该不该打折?
  2. sql 使用存储过程传递列名或表名作为参数
  3. RabbitMQ 快速入门
  4. iOS - Tools Using's Problem
  5. linux 设置系统时间
  6. 【深度学习问题整理】
  7. 绝对和相对误差(absolute relative error)
  8. 【语言处理与Python】1.4回到Python:决策与控制
  9. Android 机顶盒手势、数据分页演示DEMO
  10. SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户