微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Qt消息框不会出现

如何解决Qt消息框不会出现

我最近开始使用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::information(this,"Title","1");

    }
    if(ui->radioButton_2->isChecked())  {
        QMessageBox::information(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:
    ...
};

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。