Форум сайта python.su
hi2all
создаю несколько форм в Qt Designer сохраняю их в ui, потом перевожу, в py с помощью pyuic4.
Создаю новый питоновский файл, вызываю форму, но так и не допетрил как вызвать из главного окна, дочернюю форму, т.е вторую которую создавал, в интернете нашел только как с нуля ее создавать, и метод тыка и доков не помог. кто нить делал сие, подскажите как реализовать?
Офлайн
а есть код который с нуля создает и работает?
Офлайн
нет с нуля код писать неособо хочеться, всетаки можно нарисовать и подключить, но как вызвать второе окно из первого.
Офлайн
а код от
ring0остался?
метод тыка и доков не помог.
Офлайн
Ну создание активация окна делаю так:
import sys
from PyQt4 import QtCore, QtGui
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from mainwindow import Ui_MainWindow
from about import Ui_AboutWindow
class TWindow(QtGui.QMainWindow, Ui_MainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.setupUi(self)
self.connect(self.actionInfo, QtCore.SIGNAL("triggered()"), self.about)
def about(self):
self.modal = QtGui.QWidget()
self.modal.setFixedSize(100, 100)
self.modal.setWindowModality(Qt.WindowModal)
self.modal.show()
app = QtGui.QApplication(sys.argv)
form = TWindow()
form.show()
app.exec_()
Офлайн
ring0мож неправильно пробовал вставить?
пробовал вставить Ui_AboutWindow но не получилось
Офлайн
гениально) а я о чем) думаю может кто подскажет как правильно и как это делается вообще, ибо в инете информации подходящей не нашёл.
Офлайн
Вот до чего родил:
import sys
from PyQt4 import QtCore, QtGui
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from mainwindow import Ui_MainWindow
from about import Ui_AboutWindow
class Secondary(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.ui = Ui_AboutWindow()
self.ui.setupUi(self)
class TWindow(QtGui.QMainWindow, Ui_MainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.setupUi(self)
self.connect(self.actionInfo, QtCore.SIGNAL("triggered()"), self.about)
def about(self):
secondObj = Secondary()
secondObj.show()
app = QtGui.QApplication(sys.argv)
form = TWindow()
form.show()
app.exec_()
Офлайн
сборщик мусора на выходе из функции убивает secondObj
Офлайн
и как это исправить?
Офлайн