Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
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
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, так как она была объявлена как локальная переменная. После завершения выполнения процедуры ссылок на эту переменную не остается и её судьба печальна...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
HTML, CSS Динамическое изменение высоты блока относительно окна браузера
Слышал про expression, но почему то никак не могу применить его (
HTML, CSS Rodion2703 17.07.2014 19:19
LINQ Создание лямбда-выражения средствами Expression (динамическое создание LINQ-запроса)
Доброго времени суток, уважаемые форумчане, вот такая проблема. Есть класс Man. public class Man { public string FirstName { get; set; } } Нужно динамически формировать LINQ-запросы к...
LINQ Etrimus 11.05.2014 14:03
Python Как установить PyQt4 на Python 3?
Подкинте проверенный линк на библиотеку PyQt4 for Python3.3
Python: Графика Iamweb 30.07.2013 17:52
Python Окно без заголовка PyQt4
Здравствуйте! Помогите, пожалуйста, как сделать окно без заголовка, кнопок "свернуть", "развернуть" и "закрыть" в PyQt4?
Python: Графика kent 20.08.2012 16:07
Python PyQt4+psycopg2
Здравствуйте. Мне необходимо сделать графический интерфейс для работы с БД Postgres 8.4. Выбрал механизм PyQt4+psycopg2. Встал вопрос как загрузить данные в виджет и в какой. Если с виждетом все...
Python: Графика FroL 17.08.2012 15:53
C++/CLI WinForms Динамическое создание окна webBrowse
Здраствуйте. Я слепил простой веб браузер, но он может только переходить на заранее забитые адреса или полностью написанный адрес в textBox, а если я в гугле к примеру нашёл что-нибудь то при нажатии...
C++/CLI Windows Forms Bllaaa 04.05.2012 18:08
Python PyQT4 и сигналы
Здравствуйте, начал изучать pyqt. Читал учебник, и столкнулся с такой проблемой. создаю меню. в нем всё отлично отображается но не могу понять как обрабатывать кнопки, точнее примерно понимаю, но не...
Python: Графика BoDRbIi 22.03.2012 21:23
Python PyQT4 Переменные
Нужно записать в произвольную переменную путь из поля edit (QLineEdit), для дальнейшей работы с ней что то вроде x = self.label.getText() но это не работает а после этого вывести в ее в...
Python: Графика JJ 29.03.2011 20:25
Опции темы

Текущее время: 10:59. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.