问题描述
我最近开始使用qt,出现了我不明白的问题:
在此特定代码中,我只想显示一个消息框,如果单击了按钮并且选中了单选按钮,但消息框不会出现。有人可以帮忙吗?
#include "thirddialog.h"
#include "ui_thirddialog.h"
#include <QMessageBox>
ThirdDialog::ThirdDialog(QWidget *parent) :
QDialog(parent),ui(new Ui::ThirdDialog)
{
ui->setupUi(this);
this->setwindowTitle("Eingabe UWZ"); /*Titelzeile*/
}
ThirdDialog::~ThirdDialog()
{
delete ui;
}
void ThirdDialog::on_Back_clicked()
{
close();
}
void ThirdDialog::on_pushButton_clicked()
{
if(ui->radioButton->isChecked()) {
QMessageBox::@R_803_4045@ion(this,"Title","1");
}
if(ui->radioButton_2->isChecked()) {
QMessageBox::@R_803_4045@ion(this,"2");
}
}
解决方法
在我看来,就像您需要将on_pushButton_clicked()与QPushButton的clicked()信号连接一样。
connect(ui->pushButton,&QPushButton::clicked,this,&ThirdDialog::on_pushButton_clicked);
要使其正常工作,on_pushButton_clicked()必须是一个插槽:
class ThirdDialog {
Q_OBJECT
public:
...
public slots:
void on_pushButton_clicked();
private:
...
};