Найти - Пользователи
Полная версия: Открыть окно из готового ui PyQT
Начало » GUI » Открыть окно из готового ui PyQT
1 2
ring0
hi2all
создаю несколько форм в Qt Designer сохраняю их в ui, потом перевожу, в py с помощью pyuic4.
Создаю новый питоновский файл, вызываю форму, но так и не допетрил как вызвать из главного окна, дочернюю форму, т.е вторую которую создавал, в интернете нашел только как с нуля ее создавать, и метод тыка и доков не помог. кто нить делал сие, подскажите как реализовать?
bazooka
а есть код который с нуля создает и работает?
ring0
нет с нуля код писать неособо хочеться, всетаки можно нарисовать и подключить, но как вызвать второе окно из первого.
bazooka
а код от
ring0
метод тыка и доков не помог.
остался?
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_()
начиная с def about(self): идет как бы создание пустова окна, ну на основе этого кода и того как создаётся UI_MainWindow, пробовал вставить Ui_AboutWindow но не получилось
bazooka
ring0
пробовал вставить Ui_AboutWindow но не получилось
мож неправильно пробовал вставить?
ring0
гениально) а я о чем) думаю может кто подскажет как правильно и как это делается вообще, ибо в инете информации подходящей не нашёл.
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 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_()
но дочернее окно видно что появляется но сразу же закрывается, в чем дело?
bazooka
сборщик мусора на выходе из функции убивает secondObj
ring0
и как это исправить?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB