Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PyQt проблемы с выводом второго окна 
:(
    Опции темы
Ingener74
Дата 29.2.2012, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 29.2.2012

Репутация: нет
Всего: нет



Всем привет.
Помогите кто знает

# -*- coding: utf-8 -*-

import PyQt4.QtCore as qc
import PyQt4.QtGui as qg
import sys

class C_ServerWidget(qg.QDialog):
def __init__(self, parent=None):
qg.QDialog.__init__(self, parent)

self.setWindowTitle('Бла бла')

def Close(self):
self.close()

class C_MainWidget(qg.QWidget):
def __init__(self, parent=None):
qg.QWidget.__init__(self, parent) 

self.setWindowTitle('Mouse and keyboard sharing program')
self.setWindowIcon(qg.QIcon('main.png')) 

self.ButtonStartServer = qg.QPushButton(qg.QIcon('server.png'), 'Запустить сервер')
self.ButtonStartServer.setIconSize(qc.QSize(128, 128))
self.ButtonStartServer.setFont(qg.QFont('Tahoma', 24))
self.ButtonStartServer.clicked.connect(self.StartServer)

self.ButtonStartClient = qg.QPushButton(qg.QIcon('client.png'), 'Запустить клиента')
self.ButtonStartClient.setIconSize(qc.QSize(128, 128))
self.ButtonStartClient.setFont(qg.QFont('Tahoma', 24)) 

self.LayoutMain = qg.QHBoxLayout()
self.LayoutMain.addWidget(self.ButtonStartServer)
self.LayoutMain.addWidget(self.ButtonStartClient)

self.setLayout(self.LayoutMain)

def StartServer(self):
sw = C_ServerWidget()
sw.show()

def main():
oApplication = qg.QApplication(sys.argv)

oMainWindow = C_MainWidget()
oMainWindow.show()

sys.exit(oApplication.exec_())

if __name__ == '__main__':
main()

при нажатии на кнопку в вызове StartServer окно вызывается и тут же закрывается, как это победить???
PM MAIL   Вверх
rsm
Дата 4.3.2012, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: нет
Всего: 62



Цитата(Ingener74 @  29.2.2012,  22:25 Найти цитируемый пост)
при нажатии на кнопку в вызове StartServer окно вызывается и тут же закрывается, как это победить???

Вполне закономерно, что написал, то и получил - диалог появляется и сразу удаляется:
Код

def StartServer(self):
    sw = C_ServerWidget()
    sw.show() # только показать диалог
    # выход из функции, переменная sw удаляется

Однако:
Код

def StartServer(self):
    sw = C_ServerWidget()
    sw.exec_() # показать диалог и держать видимым пока его кто-нибудь не закроет
    # выход из функции, переменная sw удаляется


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Разработка GUI | Следующая тема »


 




[ Время генерации скрипта: 0.1143 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.