Странная ошибка с диалогом Qt (Qt4.6 / windows)
Если диалог запускается из MainWindow (с панели инструментов / или действия меню), и он является модальным, ни одно из текстовых полей не примет никаких изменений. Другие элементы управления (выпадающий, кнопки и т. Д.) Все работают.
Если я сделаю диалог немодальным, с show (), а не exec (), он отлично работает!
Кто-нибудь сталкивался с чем-нибудь подобным?
пример кода:
#include "ui_testDlg.h"
class TestDlg : public QDialog, public Ui::TestDlg
{
Q_OBJECT;
public:
TestDlg(QWidget *parent=0) {
setupUi(this);
}
~TestDlg(void) {}
private:
Ui::TestDlg ui;
};
TestDlg.ui - это просто простейшее диалоговое окно + элемент управления lineEdit, созданный в QDesigner.
void MainWindow::onTest()
{
TestDlg *test = new TestDlg(this);
test->show(); // works
//or
test->exec(); // opens dlg but can't type in it!
}
РЕДАКТИРОВАТЬ: Это та же проблема, если я просто использую QInputWidget - и это только проблема в MainWindow. Так должен ли быть какой-то сигнал, который я блокирую / потребляю?