Форум сайта python.su
Доброго времени суток!!!
Подскажите мне, пожайлуста код, проспейшей программы на pyQt4, так, чтоб можно было, например, в первом была кнопка закрытия этого окна, и когда нажимаешь оно исчезает и появляеться другое окно.
Спасибо!!!
Офлайн
Ну это не тот раздел… А вообще, если возникает такой вопрос, значит не разобрался с принципами PyQt4 и пример тебе ничего не даст. ИМХО.
Офлайн
Действительно место вопроса - в Gui.:) Но коль наткнулся, можно так:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class Widget1(QPushButton):
def __init__(self):
QPushButton.__init__(self)
self.setText(u'Закройся')
self.widget2=QWidget()
self.connect(self, SIGNAL("clicked()"), self.close)
def closeEvent(self,event):
self.widget2.show()
event.accept()
if __name__=='__main__':
app = QApplication(sys.argv)
widget1 = Widget1()
widget1.show()
app.exec_()
closeEvent() is called when the user closes the widget (or when close() is called).
Отредактировано (Май 9, 2009 14:05:30)
Офлайн
gmorgunovНе всегда хорошая мысль…
self.widget2=QWidget()
Офлайн
ZZZ Согласен, можно и попроще: :)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class Widget1(QPushButton):
def __init__(self):
QPushButton.__init__(self,u'Закройся')
def closeEvent(self,event):
widget2.show()
event.accept()
if __name__=='__main__':
app = QApplication(sys.argv)
widget1 = Widget1()
widget2=QWidget()
QObject.connect(widget1, SIGNAL("clicked()"),widget1.close)
widget1.show()
app.exec_()
Отредактировано (Май 10, 2009 08:37:34)
Офлайн
Простите пожайлуста, а как сделать так чтоб сразу после закрытия открывалось второе окно?
Кстати, спраздником Вас!!!
Отредактировано (Май 9, 2009 22:23:43)
Офлайн
helm2004Спасибо, вас тоже. Так оно открывается, проверьте 1-ый вариант(с классами). :)
Простите пожайлуста, а как сделать так чтоб сразу после закрытия открывалось второе окно?
Кстати, спраздником Вас!!!
Отредактировано (Май 9, 2009 22:39:58)
Офлайн
Блин, я “тормосс”, что по-латышки означает “Стремительный”. Спасибо, просто такого примера я в книгах то и не встречал.
Офлайн
helm2004 Во втором варианте забыл,что при нажатии на крестик надо открыть второе окно, каюсь. :) Подправил пост #5. Теперь оба варианта - то, что вам надо.
Отредактировано (Май 10, 2009 08:55:09)
Офлайн