【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】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Visual Studio 2019】
- 下一篇: 【C 语言】Windows 下使用 gc