Форум сайта python.su
Здравствуйте, подскажите как лучше организовать структуры программы на PyQt4. Программа состоит из 4 .ui файлов (1 ввод login/pasword - модальная по отношению к главной; 2 -главная форма ; 3-4 модальные формы с требуемым функционалом) Хочу все собрать в один pyw файл с помощью ‘uic.loadUi(“mainform.ui”, self)’ но как соединить 4 формы? (+ 2 формы хочу видоизменять кодом и выводить в качестве форм 5-6)
Пожалуйста подскажите, а то уже наделал кусков кода кучу а соединить проблемно стало (поэтому лучше с нуля сделаю), да и от self до сих пор вопросы ток возникают.
Отредактировано sashazz (Сен. 13, 2012 11:46:59)
Офлайн
вот прилогаю код что наклепал я по примерам (ток подскажите нормально ли так делать?)
#! usr/bin/env python3 # -*- coding: utf-8 -*- #""" aplication.py данная программа #""" import sys, sqlite3 from PyQt4 import QtCore, QtGui, uic conection = sqlite3.connect('db1.sqlite') curs = conection.cursor() class form(): # главное окно программы def __init__(self): super(form, self).__init__() uic.loadUi("form.ui", self) log_win=form_1(parent = self) log_win.show() class form_1():# модальное окно ввода пароля def __init__(self): super(form_1, self).__init__() uic.loadUi("form_1.ui", self) # загрузка всех пользователей базы в comboBox curs.execute('select name from user') for row in curs.fetchall(): r = row[0] self.comboBox.addItem(r) # конец загрузки всех пользователей def clic_enter(self): tmp = self.comboBox.currentText() curs.execute('select pasword from user where name=?', (tmp,)) for row in curs.fetchone(): pass if row == self.lineEdit.text(): pass # hide данную форму class form_2():# просмотр таблиц ( люди, машины) def __init__(self): super(form_2, self).__init__() uic.loadUi("form_2.self", self) class form_2_add(): # форма добавления def __init__(self): super(form_2_add, self).__init__() uic.loadUi("form2_add.ui", self) if __name__ == "__main__": app=QtGui.QApplication(sys.argv) try: app.setStyleSheet(open("./st1.qss","r").read())# загрузка QSS стиля except: pass # и без него будет работать main_window = form() main_window.show() sys.exit(app.exec_())
Отредактировано sashazz (Сен. 14, 2012 08:19:13)
Офлайн
sashazzОтветы
да и от self до сих пор вопросы ток возникают.
sashazzКод нечитаемый. Используйте
вот прилогаю код что наклепал я по примерам (ток подскажите нормально ли так делать?)
[code python][/code]
Офлайн
Спс, но решил всё реализовать по другому (по красивому) так что тема закрыта
Офлайн