python - pyqt 調(diào)用tablewidget窗口時(shí)無(wú)法顯示窗口內(nèi)容
問(wèn)題描述
請(qǐng)教一下大家,想實(shí)現(xiàn)在主窗口中點(diǎn)擊按鈕調(diào)用一個(gè)新窗口,這個(gè)窗口是tablewidget,目前可以實(shí)現(xiàn)彈出窗口,但是無(wú)法顯示表格,只有一個(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é)果如下:非常感謝大家!!麻煩大家了!!
問(wèn)題解答
回答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. javascript - 求助一個(gè)關(guān)于indexedDB的問(wèn)題2. django進(jìn)行數(shù)據(jù)庫(kù)的查詢3. python - pip install出現(xiàn)下面圖中的報(bào)錯(cuò) 什么原因?4. javascript - canvas 可以實(shí)現(xiàn) PS 魔法橡皮擦的功能嗎?5. 我把所有的css代碼放在一個(gè)文件夾之后,邊框就變成這個(gè)樣子了,請(qǐng)問(wèn)怎么解決?6. html5 - 請(qǐng)問(wèn)一下寫H5的時(shí)候 你們都是兼容那些手機(jī)7. 哭遼 求大佬解答 控制器的join方法怎么轉(zhuǎn)模型方法8. 輸入地址報(bào)以下截圖錯(cuò)誤,怎么辦?9. javascript - ie11以下單擊打開不了file,雙擊可以。求解?10. node.js - node中MYSQL的異步問(wèn)題
