python - pyqt 調(diào)用tablewidget窗口時(shí)無法顯示窗口內(nèi)容
問題描述
請(qǐng)教一下大家,想實(shí)現(xiàn)在主窗口中點(diǎn)擊按鈕調(diào)用一個(gè)新窗口,這個(gè)窗口是tablewidget,目前可以實(shí)現(xiàn)彈出窗口,但是無法顯示表格,只有一個(gè)空白窗口。實(shí)在找不到原因了,還請(qǐng)大家指點(diǎn)。這是主窗口代碼
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file ’question.ui’## Created by: PyQt4 UI code generator 4.11.4## WARNING! All changes made in this file will be lost!from PyQt4 import QtCore, QtGuitry: _fromUtf8 = QtCore.QString.fromUtf8except AttributeError: def _fromUtf8(s):return stry: _encoding = QtGui.QApplication.UnicodeUTF8 def _translate(context, text, disambig):return QtGui.QApplication.translate(context, text, disambig, _encoding)except AttributeError: def _translate(context, text, disambig):return QtGui.QApplication.translate(context, text, disambig)class Ui_MainWindow(object): def setupUi(self, MainWindow):MainWindow.setObjectName(_fromUtf8('MainWindow'))MainWindow.resize(344, 244)self.centralwidget = QtGui.QWidget(MainWindow)self.centralwidget.setObjectName(_fromUtf8('centralwidget'))self.pushButton = QtGui.QPushButton(self.centralwidget)self.pushButton.setGeometry(QtCore.QRect(110, 80, 121, 61))font = QtGui.QFont()font.setPointSize(17)self.pushButton.setFont(font)self.pushButton.setObjectName(_fromUtf8('pushButton'))MainWindow.setCentralWidget(self.centralwidget)self.menubar = QtGui.QMenuBar(MainWindow)self.menubar.setGeometry(QtCore.QRect(0, 0, 344, 23))self.menubar.setObjectName(_fromUtf8('menubar'))MainWindow.setMenuBar(self.menubar)self.statusbar = QtGui.QStatusBar(MainWindow)self.statusbar.setObjectName(_fromUtf8('statusbar'))MainWindow.setStatusBar(self.statusbar)self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow):MainWindow.setWindowTitle(_translate('MainWindow', 'MainWindow', None))self.pushButton.setText(_translate('MainWindow', 'Push', None))
這是被調(diào)用的窗口代碼
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file ’qtable.ui’## Created by: PyQt4 UI code generator 4.11.4## WARNING! All changes made in this file will be lost!from PyQt4 import QtCore, QtGuitry: _fromUtf8 = QtCore.QString.fromUtf8except AttributeError: def _fromUtf8(s):return stry: _encoding = QtGui.QApplication.UnicodeUTF8 def _translate(context, text, disambig):return QtGui.QApplication.translate(context, text, disambig, _encoding)except AttributeError: def _translate(context, text, disambig):return QtGui.QApplication.translate(context, text, disambig)class Ui_MainTable(QtGui.QWidget): def setupUi(self, Table):Table.setObjectName(_fromUtf8('Table'))Table.resize(422, 196)self.centralwidget = QtGui.QWidget(Table)self.centralwidget.setObjectName(_fromUtf8('centralwidget'))self.tableWidget = QtGui.QTableWidget(self.centralwidget)self.tableWidget.setGeometry(QtCore.QRect(0, 0, 421, 171))self.tableWidget.setObjectName(_fromUtf8('tableWidget'))self.tableWidget.setColumnCount(4)self.tableWidget.setRowCount(4)item = QtGui.QTableWidgetItem()self.tableWidget.setVerticalHeaderItem(0, item)item = QtGui.QTableWidgetItem()self.tableWidget.setVerticalHeaderItem(1, item)item = QtGui.QTableWidgetItem()self.tableWidget.setVerticalHeaderItem(2, item)item = QtGui.QTableWidgetItem()self.tableWidget.setVerticalHeaderItem(3, item)item = QtGui.QTableWidgetItem()self.tableWidget.setHorizontalHeaderItem(0, item)item = QtGui.QTableWidgetItem()self.tableWidget.setHorizontalHeaderItem(1, item)item = QtGui.QTableWidgetItem()self.tableWidget.setHorizontalHeaderItem(2, item)item = QtGui.QTableWidgetItem()self.tableWidget.setHorizontalHeaderItem(3, item)Table.setCentralWidget(self.centralwidget)self.menubar = QtGui.QMenuBar(Table)self.menubar.setGeometry(QtCore.QRect(0, 0, 422, 23))self.menubar.setObjectName(_fromUtf8('menubar'))Table.setMenuBar(self.menubar)self.statusbar = QtGui.QStatusBar(Table)self.statusbar.setObjectName(_fromUtf8('statusbar'))Table.setStatusBar(self.statusbar)self.retranslateUi(Table)QtCore.QMetaObject.connectSlotsByName(Table) def retranslateUi(self, Table):Table.setWindowTitle(_translate('Table', 'Table', None))item = self.tableWidget.verticalHeaderItem(0)item.setText(_translate('Table', '1', None))item = self.tableWidget.verticalHeaderItem(1)item.setText(_translate('Table', '2', None))item = self.tableWidget.verticalHeaderItem(2)item.setText(_translate('Table', '3', None))item = self.tableWidget.verticalHeaderItem(3)item.setText(_translate('Table', '4', None))item = self.tableWidget.horizontalHeaderItem(0)item.setText(_translate('Table', '新建列', None))item = self.tableWidget.horizontalHeaderItem(1)item.setText(_translate('Table', '新建列', None))item = self.tableWidget.horizontalHeaderItem(2)item.setText(_translate('Table', '新建列', None))item = self.tableWidget.horizontalHeaderItem(3)item.setText(_translate('Table', '新建列', None))
這是主程序
from ui_question import Ui_MainWindowfrom PyQt4 import QtGuifrom PyQt4.QtCore import QCoreApplicationfrom PyQt4.QtCore import * import os,sys,subprocess,refrom ui_qtable import Ui_MainTableclass myui(QtGui.QMainWindow,Ui_MainWindow,Ui_MainTable): def __init__(self, MainWindow):#QtGui.QMainWindow.__init__(self)super(my2d,self).__init__()self.setupUi(MainWindow)self.pushButton.clicked.connect(self.createMaterialFunc) def createMaterialFunc(self):print ’OK’self.another = Ui_MainTable()self.another.show() if __name__ == '__main__': import sys app = QtGui.QApplication(sys.argv) MainWindow = QtGui.QMainWindow() ui = myui(MainWindow) MainWindow.show() sys.exit(app.exec_())
運(yùn)行結(jié)果如下:非常感謝大家!!麻煩大家了!!
問題解答
回答1:主程序line 17的createMaterialFunc()函數(shù),改為如下:
def createMaterialFunc(self):self.another = Ui_MainTable()self.table = QtGui.QMainWindow()self.another.setupUi(self.table)self.table.show()
運(yùn)行結(jié)果:
相關(guān)文章:
1. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????2. 在應(yīng)用配置文件 app.php 中找不到’route_check_cache’配置項(xiàng)3. html按鍵開關(guān)如何提交我想需要的值到數(shù)據(jù)庫4. objective-c - 自定義導(dǎo)航條為類似美團(tuán)的搜索欄樣式5. ios - vue-cli開發(fā)項(xiàng)目webstrom會(huì)在stylus樣式報(bào)錯(cuò),飆紅,請(qǐng)大神幫忙6. html5 - 用Egret寫的小游戲,怎么分享到微信呢?7. css - BEM 中塊(Block)有木有什么標(biāo)準(zhǔn) 何時(shí)決定一個(gè)部分提取為塊而不是其父級(jí)的元素呢(Element)?~8. css3 - 怎么感覺用 rem 開發(fā)的不多啊9. css - width設(shè)置為100%之后列表無法居中10. python - 在pyqt中做微信的機(jī)器人,要在表格中顯示微信好友的名字,卻顯示不出來,怎么解決?
