Qt入门:点击按钮改变按钮的文字+怎样出现弹窗
题目要求:创建qt界面,上有一按钮,内有文字click me,点击后出现弹窗且按钮内文字变为clicked。
注意所有路径不能出现中文
出现弹窗步骤
- 左上方文件—>新建文件或项目
- 在文件和类里找到Qt—>Qt设计师界面类—>Dialog without Button(根据自己的需求选择,旁边有样式参考)
- 设置窗口的类名(这里我用默认的类名dialog)
- 将左侧pushButton拖到面板上(可以自定义按钮名称),右键—>转到槽
- 弹窗设置完毕,接下来代码环节
现在的目录:
main.cpp,dialog.h和dialog.cpp没有什么改动,主要的改动在mainwindow.h和mainwindow.cpp
整体代码如下:
mainwindow.h
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QPushButton>//必须引入 #include <QMainWindow> #include "dialog.h" //必须引入 QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private: QPushButton btn;//定义一个按钮 Ui::MainWindow *ui; Dialog *dialog;//定义一个弹窗的指针 public: void changeText();//定义一个函数来写按钮改变文字和弹窗操作 }; #endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); this->setWindowTitle("按钮弹窗演示-QT");//设置主窗口的名字 setFixedSize(600,400);//固定窗口的大小(自行设置也可以不设置,也可以只设置大小但不固定) btn.setText("click me"); //设置按钮内名字 btn.setParent(this);//显示按钮 btn.resize(200,200);//设置按钮大小 btn.move(200,100);//设置按钮位置 connect(&btn, QPushButton::clicked, this, MainWindow::changeText);//绑定按钮点击事件 } MainWindow::~MainWindow() { delete ui; } void MainWindow::changeText() { btn.setText("clicked"); dialog = new Dialog(this); dialog->setModal(false); dialog->show(); //作用:点击后,改变按钮内文字并出现弹窗。 }
接下来运行就完成了(三个快捷键:ctrl+b编译,ctrl+r运行,ctrl+f查找)
小任务完成,下期博客:qt打包成可执行文件
上一篇:
IDEA上Java项目控制台中文乱码