2015-04-15 2 views
0

Я работаю над приложением в C++/Qt. Я использовал инструмент проектирования для создания окна Qdialog.Кнопка Ok не работает на 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 вместо шоу, потому что ехес примитивным позволяют мне чтобы застрять в диалоговом окне до нажатия кнопки «ОК».

Странно, что кнопка ОК не работает. Мне не нужно какое-либо конкретное поведение, просто подождите OK, чтобы продолжить выполнение кода.

Благодаря

+1

Где код, который создает QPushButton и подключает его к слоту? –

+0

@ kiss-o-matic спасибо, что ты прав, забудь сделать это ... жаль, что я должен вздремнуть – Seb

ответ

0

я не совсем уверен, если предположить у соединили все. может быть, что приложение заморожено.

Почему бы не рассчитать расчет в другом потоке и не подключить тот же сигнал, который показывает диалог для приостановки потока.

сигнал ОК pushbutten должен быть подключен, чтобы закрыть диалоговое окно резюме и нитки ...

Смежные вопросы