@yourisus

Как сменить Виджеты?

Создается в main виджет
app = QtGui.QApplication(sys.argv)
main_frame = MainFrame()
main_frame.show()
app.exec_()

в виджете mainframe я создаю другой виджет в методе виджета mainframe, но не присваиваю родителя - newWidget(parent = None), мне нужно, чтобы старый виджет mainframe исчез, и в том же окне(или закрылось старое и появилось новое) появился новый виджет newWidget.
Пробовал сделать через сигналы посылаю сигнал новому виджету чтобы он *.show(), старому
даю команду *.hide(). Результат - окно просто на секунду менятся и тут же закрывается

в классе mainFrame
window = WindowTab(parent = None)
self.switch_choose_frm.connect(window.show_frame)
self.switch_choose_frm.emit()
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ответы на вопрос 1
@khrisanfov
Программист
Похоже, что вы создаете виджет статически, вот он у вас и пропадает когда отрабатывает конструктор MainFrame(). Нужно так
Widget *window = new WindowTab(null);
Сигналы тут не нужны, просто вызвать show надо: window->show();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы