Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 6, 2016 10:36:44

Inervin
Зарегистрирован: 2016-11-11
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt5

Здравствуйте! Я новичок в изучении PyQt5 и я не могу понять одну вещь…
Вот код.

 from PyQt5 import QtSql, QtCore, QtWidgets
import sys
import Kernel
import FormUi
def AddRecord():
    TestQuery.stm.insertRow(TestQuery.stm.rowCount())
def DelRecord():
    TestQuery.stm.removeRow(TestQuery.TabView.currentIndex().row())
    TestQuery.stm.select()
class TestQuery(QtWidgets.QWidget, FormUi.Ui_Form):
    app = QtWidgets.QApplication(sys.argv)
    window = QtWidgets.QWidget()
    stm = Kernel.Base.QSqlTableModel()
    stm.setTable('ingredients')
    stm.setSort(1, QtCore.Qt.AscendingOrder)
    stm.select()
    stm.setHeaderData(1, QtCore.Qt.Horizontal, 'Продукты')
    TabView = FormUi.Ui_Form.setupUi().tableViewSalats()
    TabView.setModel(stm)
    TabView.setColumnWidth(1, 150)
    btnAdd = FormUi.Ui_Form.TableButtonAdd()
    btnAdd.clicked.connect(AddRecord)
    btnDel = FormUi.Ui_Form.TableButtonDel()
    btnDel.clicked.connect(DelRecord)
    window.show()
    sys.exit(app.exec_())

Мне нужно вывести на виджет-таблицу Таблицу из БД и я не могу понять как это сделать, все перемучил. Я очень буду счастлив, если вы поможете с решением этой проблемы и обоснуете как это правильно сделать. Спасибо.

Офлайн

#2 Дек. 6, 2016 10:39:08

Inervin
Зарегистрирован: 2016-11-11
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt5

Вот код из “Ядра”.

 from PyQt5 import QtWidgets, QtSql, QtCore
import FormUi
import sys
import Query
app = QtWidgets.QApplication(sys.argv)
Base = QtSql
MBase = Base.QSqlDatabase.addDatabase('QSQLITE')
MBase.setDatabaseName('foodbook.db')
if MBase.open():
    pass
else:
    print(MBase.lastError().text())
class MyWindow(QtWidgets.QWidget, FormUi.Ui_Form):
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        Set = Query.TestQuery
        self.setupUi(self)
if __name__ == "__main__":
    MainWindow = MyWindow()
    MainWindow.show()
    sys.exit(app.exec_())

И код из так называемой “формы”
 from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(651, 562)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(10)
        sizePolicy.setVerticalStretch(10)
        sizePolicy.setHeightForWidth(Form.sizePolicy().hasHeightForWidth())
        Form.setSizePolicy(sizePolicy)
        Form.setStatusTip("")
        Form.setLayoutDirection(QtCore.Qt.LeftToRight)
        Form.setAutoFillBackground(False)
        self.tabWidget = QtWidgets.QTabWidget(Form)
        self.tabWidget.setGeometry(QtCore.QRect(0, 40, 651, 521))
        self.tabWidget.setObjectName("tabWidget")
        self.salats = QtWidgets.QWidget()
        self.salats.setObjectName("salats")
        self.pushButton_2 = QtWidgets.QPushButton(self.salats)
        self.pushButton_2.setGeometry(QtCore.QRect(140, 1, 71, 23))
        self.pushButton_2.setObjectName("pushButton_2")
        self.groupBox_2 = QtWidgets.QGroupBox(self.salats)
        self.groupBox_2.setGeometry(QtCore.QRect(220, 0, 431, 501))
        self.groupBox_2.setObjectName("groupBox_2")
        self.tableViewSalats = QtWidgets.QTableView(self.groupBox_2)
        self.tableViewSalats.setGeometry(QtCore.QRect(10, 20, 411, 441))
        self.tableViewSalats.setSortingEnabled(True)
        self.tableViewSalats.setObjectName("tableViewSalats")
        self.TableButtonAdd = QtWidgets.QPushButton(self.groupBox_2)
        self.TableButtonAdd.setGeometry(QtCore.QRect(250, 470, 75, 23))
        self.TableButtonAdd.setObjectName("TableButtonAdd")
        self.TableButtonDel = QtWidgets.QPushButton(self.groupBox_2)
        self.TableButtonDel.setGeometry(QtCore.QRect(340, 470, 75, 23))
        self.TableButtonDel.setObjectName("TableButtonDel")
        self.lineEdit_2 = QtWidgets.QLineEdit(self.salats)
        self.lineEdit_2.setGeometry(QtCore.QRect(1, 2, 133, 21))
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.scrollArea_2 = QtWidgets.QScrollArea(self.salats)
        self.scrollArea_2.setGeometry(QtCore.QRect(0, 30, 211, 431))
        self.scrollArea_2.setWidgetResizable(True)
        self.scrollArea_2.setObjectName("scrollArea_2")
        self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 209, 429))
        self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2")
        self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2)
        self.pushButton_12 = QtWidgets.QPushButton(self.salats)
        self.pushButton_12.setGeometry(QtCore.QRect(20, 470, 75, 23))
        self.pushButton_12.setObjectName("pushButton_12")
        self.pushButton_11 = QtWidgets.QPushButton(self.salats)
        self.pushButton_11.setGeometry(QtCore.QRect(120, 470, 75, 23))
        self.pushButton_11.setObjectName("pushButton_11")
        self.tabWidget.addTab(self.salats, "")
        self.tab_4 = QtWidgets.QWidget()
        self.tab_4.setObjectName("tab_4")
        self.scrollArea_6 = QtWidgets.QScrollArea(self.tab_4)
        self.scrollArea_6.setGeometry(QtCore.QRect(0, 30, 211, 431))
        self.scrollArea_6.setWidgetResizable(True)
        self.scrollArea_6.setObjectName("scrollArea_6")
        self.scrollAreaWidgetContents_6 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_6.setGeometry(QtCore.QRect(0, 0, 209, 429))
        self.scrollAreaWidgetContents_6.setObjectName("scrollAreaWidgetContents_6")
        self.scrollArea_6.setWidget(self.scrollAreaWidgetContents_6)
        self.lineEdit_6 = QtWidgets.QLineEdit(self.tab_4)
        self.lineEdit_6.setGeometry(QtCore.QRect(1, 2, 133, 21))
        self.lineEdit_6.setObjectName("lineEdit_6")
        self.pushButton_6 = QtWidgets.QPushButton(self.tab_4)
        self.pushButton_6.setGeometry(QtCore.QRect(140, 1, 71, 23))
        self.pushButton_6.setObjectName("pushButton_6")
        self.groupBox_6 = QtWidgets.QGroupBox(self.tab_4)
        self.groupBox_6.setGeometry(QtCore.QRect(220, 0, 431, 501))
        self.groupBox_6.setObjectName("groupBox_6")
        self.pushButton_3 = QtWidgets.QPushButton(self.tab_4)
        self.pushButton_3.setGeometry(QtCore.QRect(20, 470, 75, 23))
        self.pushButton_3.setObjectName("pushButton_3")
        self.pushButton_8 = QtWidgets.QPushButton(self.tab_4)
        self.pushButton_8.setGeometry(QtCore.QRect(120, 470, 75, 23))
        self.pushButton_8.setObjectName("pushButton_8")
        self.tabWidget.addTab(self.tab_4, "")
        self.tab_3 = QtWidgets.QWidget()
        self.tab_3.setObjectName("tab_3")
        self.scrollArea_5 = QtWidgets.QScrollArea(self.tab_3)
        self.scrollArea_5.setGeometry(QtCore.QRect(0, 30, 211, 431))
        self.scrollArea_5.setWidgetResizable(True)
        self.scrollArea_5.setObjectName("scrollArea_5")
        self.scrollAreaWidgetContents_5 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_5.setGeometry(QtCore.QRect(0, 0, 209, 429))
        self.scrollAreaWidgetContents_5.setObjectName("scrollAreaWidgetContents_5")
        self.scrollArea_5.setWidget(self.scrollAreaWidgetContents_5)
        self.lineEdit_5 = QtWidgets.QLineEdit(self.tab_3)
        self.lineEdit_5.setGeometry(QtCore.QRect(1, 2, 133, 21))
        self.lineEdit_5.setObjectName("lineEdit_5")
        self.pushButton_5 = QtWidgets.QPushButton(self.tab_3)
        self.pushButton_5.setGeometry(QtCore.QRect(140, 1, 71, 23))
        self.pushButton_5.setObjectName("pushButton_5")
        self.groupBox_5 = QtWidgets.QGroupBox(self.tab_3)
        self.groupBox_5.setGeometry(QtCore.QRect(220, 0, 431, 501))
        self.groupBox_5.setObjectName("groupBox_5")
        self.pushButton_9 = QtWidgets.QPushButton(self.tab_3)
        self.pushButton_9.setGeometry(QtCore.QRect(120, 470, 75, 23))
        self.pushButton_9.setObjectName("pushButton_9")
        self.pushButton_10 = QtWidgets.QPushButton(self.tab_3)
        self.pushButton_10.setGeometry(QtCore.QRect(20, 470, 75, 23))
        self.pushButton_10.setObjectName("pushButton_10")
        self.tabWidget.addTab(self.tab_3, "")
        self.tab_5 = QtWidgets.QWidget()
        self.tab_5.setObjectName("tab_5")
        self.scrollArea_7 = QtWidgets.QScrollArea(self.tab_5)
        self.scrollArea_7.setGeometry(QtCore.QRect(0, 30, 211, 431))
        self.scrollArea_7.setWidgetResizable(True)
        self.scrollArea_7.setObjectName("scrollArea_7")
        self.scrollAreaWidgetContents_7 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_7.setGeometry(QtCore.QRect(0, 0, 209, 429))
        self.scrollAreaWidgetContents_7.setObjectName("scrollAreaWidgetContents_7")
        self.scrollArea_7.setWidget(self.scrollAreaWidgetContents_7)
        self.lineEdit_7 = QtWidgets.QLineEdit(self.tab_5)
        self.lineEdit_7.setGeometry(QtCore.QRect(1, 2, 133, 21))
        self.lineEdit_7.setObjectName("lineEdit_7")
        self.pushButton_7 = QtWidgets.QPushButton(self.tab_5)
        self.pushButton_7.setGeometry(QtCore.QRect(140, 1, 71, 23))
        self.pushButton_7.setObjectName("pushButton_7")
        self.groupBox_7 = QtWidgets.QGroupBox(self.tab_5)
        self.groupBox_7.setGeometry(QtCore.QRect(220, 0, 431, 501))
        self.groupBox_7.setObjectName("groupBox_7")
        self.pushButton = QtWidgets.QPushButton(self.tab_5)
        self.pushButton.setGeometry(QtCore.QRect(20, 470, 75, 23))
        self.pushButton.setObjectName("pushButton")
        self.pushButton_4 = QtWidgets.QPushButton(self.tab_5)
        self.pushButton_4.setGeometry(QtCore.QRect(120, 470, 75, 23))
        self.pushButton_4.setObjectName("pushButton_4")
        self.tabWidget.addTab(self.tab_5, "")
        self.retranslateUi(Form)
        self.tabWidget.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(Form)
    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Поваренная книга"))
        self.pushButton_2.setText(_translate("Form", "Поиск"))
        self.groupBox_2.setTitle(_translate("Form", "Рецепт"))
        self.TableButtonAdd.setText(_translate("Form", "Добавить"))
        self.TableButtonDel.setText(_translate("Form", "Удалить"))
        self.pushButton_12.setText(_translate("Form", "Добавить"))
        self.pushButton_11.setText(_translate("Form", "Удалить"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.salats), _translate("Form", "Салаты"))
        self.pushButton_6.setText(_translate("Form", "Поиск"))
        self.groupBox_6.setTitle(_translate("Form", "Рецепт"))
        self.pushButton_3.setText(_translate("Form", "Добавить"))
        self.pushButton_8.setText(_translate("Form", "Удалить"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("Form", "Каиши и гарниры"))
        self.pushButton_5.setText(_translate("Form", "Поиск"))
        self.groupBox_5.setTitle(_translate("Form", "Рецепт"))
        self.pushButton_9.setText(_translate("Form", "Удалить"))
        self.pushButton_10.setText(_translate("Form", "Добавить"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("Form", "Первые блюда"))
        self.pushButton_7.setText(_translate("Form", "Поиск"))
        self.groupBox_7.setTitle(_translate("Form", "Рецепт"))
        self.pushButton.setText(_translate("Form", "Добавить"))
        self.pushButton_4.setText(_translate("Form", "Удалить"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _translate("Form", "Выпечка"))

PS: форму делал в Designer

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version