我正在使用python3和PyQt5在Windows 7中制作GUI桌面应用程序。
我的目标是:
当我的应用程序运行时,它会使用QTableWidget制作一个空表格。还有四个按钮。
当用户单击第一个按钮时,空表将获得2行4列。
在这种情况下,如果用户单击另一个按钮,则将删除先前的列和行,并使表格具有10列20行。
我创建了一个空表,但我不知道如何动态生成列和行。
以下是我的代码:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QTableWidget, QPushButton
class mainClass(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.tableWidget = tableManager()
self.returnedTableWidget = self.tableWidget.makeTable(self)
btnMaker = buttonManager()
btnMaker.makeTestBtn(self)
self.setGeometry(100, 100, 700, 600)
self.show()
class buttonManager(QWidget):
def __init__(self):
super().__init__()
def makeTestBtn(self, parent):
testBtn01 = QPushButton("2 X 4", parent)
testBtn02 = QPushButton("4 X 8", parent)
testBtn03 = QPushButton("8 X 16", parent)
testBtn04 = QPushButton("16 X 32", parent)
testBtn01.move(50, 450)
testBtn02.move(200, 450)
testBtn03.move(350, 450)
testBtn04.move(500, 450)
class tableManager(QWidget):
def __init__(self):
super().__init__()
def makeTable(self, parent):
self.tableMaker = QTableWidget(parent)
self.tableMaker.setGeometry(50, 50, 600, 400)
return self.tableMaker
if __name__ == '__main__':
app = QApplication(sys.argv)
mc = mainClass()
sys.exit(app.exec_())
我知道在QTableWidget
类中有setRowCount()
和setColumnCount()
方法,但我不知道在代码中应该如何使用这些方法。