Qt 常用控件 QPushButton 实例
Push Button:命令按钮。
入口文件 main.cpp
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
头文件 mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QDebug>
// 引入QPushbutton 对应的头文件
#include <QPushButton>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
// 声明两个Pushbutton对象
QPushButton* Btn1;
QPushButton* Btn2;
//信号槽函数
private slots:
void btn1_clicked();
void btn2_clicked();
};
#endif // MAINWINDOW_H
源文件 mainwindow.cpp
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
// 设置 窗口初始位置 大小
setGeometry(150,150,300,300);
// 在按钮实例化时候 设置文本
Btn1 = new QPushButton(QString("命令按钮1"),this);
Btn2 = new QPushButton(QString("命令按钮2"),this);
// 设置两个按钮的坐标位置 大小
Btn1->setGeometry(30,30,80,50);
Btn2->setGeometry(30,130,80,50);
// 按钮与槽函数链接
// 按钮地址 触发信号 作用域 槽函数
connect(Btn1,SIGNAL(clicked(bool)),this,SLOT(btn1_clicked()));
connect(Btn2,SIGNAL(clicked(bool)),this,SLOT(btn2_clicked()));
}
MainWindow::~MainWindow()
{
}
void MainWindow::btn1_clicked()
{
qDebug() << "按钮1点击";
// 改变样式
setStyleSheet("QMainWindow{"
"background-color:rgba(255,255,0,100%);"
"}");
}
void MainWindow::btn2_clicked()
{
qDebug() << "按钮2点击";
// 改变样式
setStyleSheet("QMainWindow{"
"background-color:rgba(255,0,0,100%);"
"}");
}
运行效果
初始化状态:
点击 “命令按钮1” 修改背景颜色:
点击 “命令按钮2” 更换背景颜色: