2013-12-13 2 views
2

Возможно, эта проблема связана с неправильным определением родительского виджетов. В руководстве QT или примерах, доступных онлайн, первый аргумент, переданный QFileDialog :: getOpenFileName (или аналогичные функции), как правило, «это». В моем случае, если я вызываю следующую функцию с «этим», она откроет диалоговое окно и другое окно, которое не содержит ничего и имеет заголовок, который совпадает с именем исполняемого файла. Я попытался избавиться от второго нежелательного окна без успеха. Я заменил «this» на «gui :: parentWidget()» или «0», все еще та же проблема. Также, если я правильно помню, у меня не было этой проблемы до обновления QT до версии 5.0.2. Любая помощь будет оценена по достоинству.QFileDialog открывает второе (возможно родительское) нежелательное окно

void gui::on_coordinatesBrowse_clicked() 
{ 
    QString fileName = QFileDialog::getOpenFileName(this,"Open File"); 
//..... 
} 

и у меня есть:

gui::gui(QWidget *parent) : 
    QMainWindow(parent), 
    ui(new Ui::gui) 
{ 
    ui->setupUi(this); 
//..... 
} 

и

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 
    gui mainW; 
    mainW.show(); 
    return a.exec(); 
} 
+0

Я никогда не видел такого поведения. Хотя из-за сложной библиотечной зависимости я застрял в qt-4.8.X. – drescherjm

+0

Кстати, это на окнах? Если это так, черный фон окна с обычной границей окон? – drescherjm

+0

Какая ОС это? –

ответ

0

Я думал, что я также испытывает это на Qt5.4.0 x64 на Linux.

Я создал аналогичную ситуацию с QtCreator и использовал контекстное меню «перейти в слот ...» в режиме редактирования виджетов (F3), который автоматически создал для меня слот.

Затем я переименовал кнопки и переименовал функции и использовал режим редактирования слота (F3) в файле .ui. Поскольку появляется только соединение через режим редактирования слота, я думал, что все установлено. Но старое соединение все еще существовало, в результате чего два сигнала ...

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