- 创建一个按钮并连接到槽函数
在Qt设计师中拖动一个按钮控件,设置好按钮的文字和样式。然后将按钮的clicked()信号连接到一个槽函数,这个槽函数用于弹出消息框。
connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(showMessage()));
- 创建一个槽函数
在类中创建一个槽函数showMessage(),用于弹出消息框。在该函数中可以使用QMessageBox类来创建一个消息框。
void MainWindow::showMessage()
{
QMessageBox::information(this, "提示", "你点击了按钮");
}
上面代码中,QMessageBox的第一个参数是指定父窗口,第二个参数是消息框的标题,第三个参数是消息框的内容。
- 弹出自定义消息框
如果需要在消息框中写入自己的内容,可以使用QDialog类来创建一个自定义的消息框。首先,在Qt设计师中创建一个对话框界面,添加需要的控件。然后,在槽函数中调用该对话框,并显示。
void MainWindow::showMessage()
{
QDialog *dialog = new QDialog(this);
dialog->setWindowTitle("自定义弹框");
QVBoxLayout *layout = new QVBoxLayout;
QLabel *label = new QLabel("这是自定义弹框");
layout->addWidget(label);
dialog->setLayout(layout);
dialog->exec();
}
上面代码中,首先创建一个QDialog对象(注意设置父窗口),然后创建一个垂直布局器QVBoxLayout,并添加一个标签控件。最后,将布局器设置为对话框的主布局,调用exec()函数显示对话框。
完整代码如下:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>
#include <QDialog>
#include <QVBoxLayout>
#include <QLabel>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(showMessage()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::showMessage()
{
QDialog *dialog = new QDialog(this);
dialog->setWindowTitle("自定义弹框");
QVBoxLayout *layout = new QVBoxLayout;
QLabel *label = new QLabel("这是自定义弹框");
layout->addWidget(label);
dialog->setLayout(layout);
dialog->exec();
}