【问题标题】:Ok button is not working on QDialog确定按钮在 QDialog 上不起作用
【发布时间】:2015-04-15 19:50:07
【问题描述】:

我正在使用 C++/Qt 开发一个应用程序,我使用设计工具设计了一个 Qdialog 框。

对话框定义如下。

c++ 文件

#include "dialogwarning.h"
#include "ui_dialogwarning.h"

DialogWarning::DialogWarning(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::DialogWarning)
{
    ui->setupUi(this);
}

DialogWarning::~DialogWarning()
{
    delete ui;
}

头文件

#include <QDialog>

namespace Ui {
class DialogWarning;
}

class DialogWarning : public QDialog
{
    Q_OBJECT

public:
    explicit DialogWarning(QWidget *parent = 0);
    ~DialogWarning();

private:
    Ui::DialogWarning *ui;
};

来源使用如下:

WarningDialog = new DialogWarning();
QLabel *label = new QLabel("File/Folder name already exist", WarningDialog);
label->setGeometry(WarningDialog->rect().center().x() - label->rect().width()/2,
                   WarningDialog->rect().center().y() - label->rect().height()*2,
                   WarningDialog->rect().width(),
                   WarningDialog->rect().height());
WarningDialog->exec();

我使用 exec 而不是 show,因为 exec 原语允许我被困在对话框中,直到按下“确定”按钮。

奇怪的是确定按钮不起作用。我不需要任何特定行为,只需等待 OK 按钮继续运行代码。

谢谢

【问题讨论】:

  • 创建 QPushButton 并将其连接到插槽的代码在哪里?
  • @kiss-o-matic 谢谢你是对的,忘了做吧....对不起,我应该小睡一下

标签: c++ qt qdialog


【解决方案1】:

我不太确定假设你已经连接了所有东西。可能是应用程序被冻结了。

为什么不将计算放在不同的线程中,并将显示对话框的相同信号连接到线程暂停。

应该连接ok pushbutten的信号来关闭对话框和线程恢复...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    • 1970-01-01
    相关资源
    最近更新 更多