【发布时间】:2017-12-23 15:43:46
【问题描述】:
我对 python 还很陌生,对 PyQt 非常陌生。
当我单击文件浏览按钮时,我试图在我的 pyqt 程序中嵌入一个 QTableWidget。我的目标是创建一个类来创建多个表,但为了简化事情,我将类设为静态,因此当它被调用时,它会生成一个预定义的表。现在我只是想看看如何嵌入表格。
我在我的类 MainWindow 中定义了两个方法“InitializeUI”和“import”。 InitializeUI 负责我的大多数小部件的创建和布局,我希望导入能够使用我在 InitializeUI 中创建的布局来创建和嵌入我的表。我该怎么做呢?
此外,我一直在运行的代码只是给我一个错误“进程以退出代码 1 完成”,因此很难调试。这是我当前的代码。
将我的浏览按钮连接到导入方法的代码
self.BrowseBtn.clicked.connect(self.import1)
导入方法的代码。我的主窗口中有三个布局,左侧、右上角和右下角的垂直框。我希望我的表格进入窗口的右下角。
def import1(self):
self.Table = CreateTable()
vboxRightBottom.addWidget(self.Table)
创建表格的类
class CreateTable(QTableWidget):
def __init__(self):
self.tableWidget = QTableWidget()
self.tableWidget.setRowCount(4)
self.tableWidget.setColumnCount(2)
self.tableWidget.setItem(0,0, QTableWidgetItem("Cell (1,1)"))
self.tableWidget.setItem(0,1, QTableWidgetItem("Cell (1,2)"))
self.tableWidget.setItem(1,0, QTableWidgetItem("Cell (2,1)"))
self.tableWidget.setItem(1,1, QTableWidgetItem("Cell (2,2)"))
self.tableWidget.setItem(2,0, QTableWidgetItem("Cell (3,1)"))
self.tableWidget.setItem(2,1, QTableWidgetItem("Cell (3,2)"))
self.tableWidget.setItem(3,0, QTableWidgetItem("Cell (4,1)"))
self.tableWidget.setItem(3,1, QTableWidgetItem("Cell (4,2)"))
直觉上我知道我不能在另一种方法中从一种方法调用布局,但我不确定如何以其他方式嵌入我的表格。
对不起,如果代码没有正确缩进,当我复制/粘贴我的代码时堆栈是挑剔的。
如果您需要进一步参考,这里是我完整代码的链接
https://github.com/Silvuurleaf/Data-Analysis-and-Visualization-GUI/blob/master/Plotter3.1.py
【问题讨论】:
标签: python user-interface embed pyqt5