Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 19, 2009 00:49:37

Sergey912
От:
Зарегистрирован: 2009-01-19
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4 - новое окно из QMainWindow

Нужно из главного окна открыть еще одно окно.
Открыто окно из которого по нажатию на кнопку вызываю метод:

    def Settings(self):
ConfigW = QtGui.QWidget()
ConfigW.setGeometry(5, 90, 100, 100)
#ConfigW.__init__(self,None)
ConfigW.show()
В таком виде с комментарием срабатывает, т.е. окно появляется и тут же пропадает. Не знаю как правильно в __init__ передать ему родителя т.е. главное окно или я не тем занимаюсь?



Офлайн

#2 Янв. 19, 2009 12:13:29

gmorgunov
От:
Зарегистрирован: 2008-10-15
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4 - новое окно из QMainWindow

Привет.
Если я правильно понял, вам вот это нужно? :

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore

class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setWindowTitle('MainWindow')
self.ConfigW = QtGui.QWidget()

def settingW(self):
self.ConfigW.setWindowTitle('ConfigWindow')
self.ConfigW.setGeometry(5, 90, 100, 100)
self.ConfigW.show()
if __name__=="__main__":
app = QtGui.QApplication(sys.argv)
window = MainWindow()
window.settingW()
window.show()
sys.exit(app.exec_())



Офлайн

#3 Янв. 19, 2009 14:27:07

gmorgunov
От:
Зарегистрирован: 2008-10-15
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4 - новое окно из QMainWindow

Если по нажатию кнопки, то вот так:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtGui, QtCore

class MainWindow(QtGui.QWidget): # не QMainWindow !
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setWindowTitle('MainWindow')
self.ConfigW = QtGui.QWidget()
button = QtGui.QPushButton('settingW')

layout = QtGui.QVBoxLayout()
layout.addWidget(button)
self.setLayout(layout)

QtCore.QObject.connect(button,QtCore.SIGNAL("clicked()"),self.settingW)

#### self.ConfigW - для доступа в методах класса ####
def settingW(self):
self.ConfigW.setWindowTitle('ConfigWindow')
self.ConfigW.setGeometry(5, 90, 100, 100)
self.ConfigW.show()
if __name__=="__main__":
app = QtGui.QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())



Офлайн

#4 Янв. 20, 2009 00:37:44

Sergey912
От:
Зарегистрирован: 2009-01-19
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4 - новое окно из QMainWindow

Спасибо, помогло :)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version