#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtCore, QtGui
class Ui_Form2(object):
def __init__(self, Form):
self.button1 = QtGui.QPushButton("Does not work :(", Form)
self.button1.setMinimumSize(QtCore.QSize(150, 70))
self.button1.clicked.connect(self.click)
def click(self):
print "da"
class Ui_Form1(object):
def __init__(self, Form):
self.button1 = QtGui.QPushButton("Click me!", Form)
self.button1.setMinimumSize(QtCore.QSize(150, 70))
self.button1.clicked.connect(self.click)
def click(self):
self.Form2 = QtGui.QWidget()
ui = Ui_Form2(self.Form2)
self.Form2.show()
def main():
app = QtGui.QApplication(sys.argv)
win = QtGui.QWidget()
ui = Ui_Form1(win)
win.show()
app.exec_()
return 1
if __name__ == "__main__":
main()
Методом тыка был найден костыль который заставляет работать приведенный код, но это костыль который я не могу позволить себе использовать в своем проекте.
Вот рабочий код, добавлен костыльный класс PushButton.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtCore, QtGui
class Ui_Form2(object):
def __init__(self, Form):
class PushButton(QtGui.QPushButton):
def __init__(self, hz, name, parent = None):
super(PushButton, self).__init__(parent)
self.whatIsThis = hz
self.button1 = PushButton(self, "Does not work :(", Form)
self.button1.setMinimumSize(QtCore.QSize(150, 70))
self.button1.clicked.connect(self.click)
def click(self):
print "da"
class Ui_Form1(object):
def __init__(self, Form):
self.button1 = QtGui.QPushButton("Click me!", Form)
self.button1.setMinimumSize(QtCore.QSize(150, 70))
self.button1.clicked.connect(self.click)
def click(self):
self.Form2 = QtGui.QWidget()
ui = Ui_Form2(self.Form2)
self.Form2.show()
def main():
app = QtGui.QApplication(sys.argv)
win = QtGui.QWidget()
ui = Ui_Form1(win)
win.show()
app.exec_()
return 1
if __name__ == "__main__":
main()
Прошу дать пояснение по данной проблеме, спасибо.