Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > > >
Восстановить пароль Регистрация
 
PAVEL_USER
Форумчанин
22 / 22 / 1
Регистрация: 28.12.2010
Сообщений: 129
24.12.2012, 07:08     PyQT4 Динамическое создание окна
  #1
Здравствуйте!

В QtDesigner создал две формы FrmMain и FrmGroupManagement, полученный программный код использую через множественное наследование, как описано здесь.
В обработчике сигнала кнопки на форме FrmMain создаю экземпляр второй формы FrmGroupManagement и вызываю метод show() в результате, форма FrmGroupManagement появляется и сразу исчезает. Никак не могу понять в чем проблема

Если вызывать формы следующим образом, то все чудесно работает:

Код Python
1
2
3
4
5
6
7
8
9
10
if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    
    frm1 = FrmMain()
    frm1.show()
    
    frm2 = FrmGroupManagement()
    frm2.show()
     
    sys.exit(app.exec_())
Но если вызывать вторую форму по сигналу из первой формы, то она сразу закрывается... Может проблема кроется в иерархии? Прошу помощи...
AdAgent
Объявления
24.12.2012, 07:08
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2012, 07:08

Посмотрите здесь:

Python Обрашение к параметру элемента окна

Python Окно без заголовка PyQt4

Python Установить pyqt4 для python 3.2 в Linux Ubuntu 12.04

Python Как установить фокус на нужное окно после закрытия окна?

Python Как изменить свойства окна, нажав на кнопку в нём?

Python Как установить PyQt4 на Python 3?

Python Как сделать окно с полями ввода и кнопкой для вычисления в PyQt4?

Python Как при нажатии на кнопку вывести текст в окно в PyQt4?

Python Как ставить маркеры на карте Google Maps по названию в PyQt4?

Python Как передать целое число из диалогового окна?

PAVEL_USER
Форумчанин
22 / 22 / 1
Регистрация: 28.12.2010
Сообщений: 129
29.12.2012, 12:15  [ТС]     PyQT4 Динамическое создание окна
  #2
Проблема решается следующим образом:

Код Python
1
2
3
4
def BtnGroupClicked(self):
        print('BtnGroupClicked')
        self.frm = FrmGroupManagement()
        self.frm.show()
Сборщик мусора уничтожал форму по завершении процедуры BtnGroupClicked, так как она была объявлена как локальная переменная. После завершения выполнения процедуры ссылок на эту переменную не остается и её судьба печальна...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему
Опции темы

Текущее время: 08:23. Часовой пояс GMT +4.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.