Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 20, 2011 14:26:24

ring0
От:
Зарегистрирован: 2011-01-20
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Открыть окно из готового ui PyQT

hi2all
создаю несколько форм в Qt Designer сохраняю их в ui, потом перевожу, в py с помощью pyuic4.
Создаю новый питоновский файл, вызываю форму, но так и не допетрил как вызвать из главного окна, дочернюю форму, т.е вторую которую создавал, в интернете нашел только как с нуля ее создавать, и метод тыка и доков не помог. кто нить делал сие, подскажите как реализовать?



Офлайн

#2 Янв. 20, 2011 16:36:15

bazooka
От:
Зарегистрирован: 2009-04-12
Сообщения: 165
Репутация: +  0  -
Профиль   Отправить e-mail  

Открыть окно из готового ui PyQT

а есть код который с нуля создает и работает?



Офлайн

#3 Янв. 20, 2011 16:42:37

ring0
От:
Зарегистрирован: 2011-01-20
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Открыть окно из готового ui PyQT

нет с нуля код писать неособо хочеться, всетаки можно нарисовать и подключить, но как вызвать второе окно из первого.



Офлайн

#4 Янв. 20, 2011 17:16:19

bazooka
От:
Зарегистрирован: 2009-04-12
Сообщения: 165
Репутация: +  0  -
Профиль   Отправить e-mail  

Открыть окно из готового ui PyQT

а код от

ring0
метод тыка и доков не помог.
остался?



Офлайн

#5 Янв. 20, 2011 17:34:24

ring0
От:
Зарегистрирован: 2011-01-20
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Открыть окно из готового ui PyQT

Ну создание активация окна делаю так:

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 но не получилось



Офлайн

#6 Янв. 20, 2011 18:23:17

bazooka
От:
Зарегистрирован: 2009-04-12
Сообщения: 165
Репутация: +  0  -
Профиль   Отправить e-mail  

Открыть окно из готового ui PyQT

ring0
пробовал вставить Ui_AboutWindow но не получилось
мож неправильно пробовал вставить?



Офлайн

#7 Янв. 20, 2011 18:39:59

ring0
От:
Зарегистрирован: 2011-01-20
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Открыть окно из готового ui PyQT

гениально) а я о чем) думаю может кто подскажет как правильно и как это делается вообще, ибо в инете информации подходящей не нашёл.



Офлайн

#8 Янв. 20, 2011 20:33:31

ring0
От:
Зарегистрирован: 2011-01-20
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Открыть окно из готового ui PyQT

Вот до чего родил:

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_()
но дочернее окно видно что появляется но сразу же закрывается, в чем дело?



Офлайн

#9 Янв. 20, 2011 23:41:22

bazooka
От:
Зарегистрирован: 2009-04-12
Сообщения: 165
Репутация: +  0  -
Профиль   Отправить e-mail  

Открыть окно из готового ui PyQT

сборщик мусора на выходе из функции убивает secondObj



Офлайн

#10 Янв. 21, 2011 07:16:43

ring0
От:
Зарегистрирован: 2011-01-20
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Открыть окно из готового ui PyQT

и как это исправить?



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version