【问题标题】:What's the proper way to add a layout to a qtablewidget in pyqt?在pyqt中向qtablewidget添加布局的正确方法是什么?
【发布时间】:2017-05-10 09:16:36
【问题描述】:

我已经问过一个类似的问题here,但我想知道向 qtablewigets 添加布局的正确方法,以及如何将 2 个表格小部件并排放置在同一个窗口中,如果它们都是只有 3 列。

【问题讨论】:

    标签: python pyqt pyqt4 qtablewidget


    【解决方案1】:

    将表格放在QHBoxLayout 中。

    代码:

    import sys
    
    from PyQt4 import QtGui
    from PyQt4 import QtCore
    
    
    class Window(QtGui.QWidget):
        def __init__(self, parent=None):
            super(Window, self).__init__(parent=parent)
            QtGui.QTableWidget.setMinimumSize(self, 500, 500)
            QtGui.QTableWidget.setWindowTitle(self, "Custom table widget")
            self.table1 = QtGui.QTableWidget()
            self.configureTable(self.table1)
    
            self.table2 = QtGui.QTableWidget()
            self.configureTable(self.table2)
    
            self.buttonBox = QtGui.QDialogButtonBox(self)
            self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
            self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok)
    
            self.verticalLayout = QtGui.QVBoxLayout(self)
    
            self.horizontalLayout = QtGui.QHBoxLayout()
            self.horizontalLayout.addWidget(self.table1)
            self.horizontalLayout.addWidget(self.table2)
    
            self.verticalLayout.addLayout(self.horizontalLayout)
            self.verticalLayout.addWidget(self.buttonBox)
    
            self.buttonBox.accepted.connect(self.close)
            self.buttonBox.rejected.connect(self.close)
    
        def configureTable(self, table):
            rowf = 3
            table.setColumnCount(3)
            table.setRowCount(rowf)
            table.setHorizontalHeaderItem(0, QtGui.QTableWidgetItem("col1"))
            table.setHorizontalHeaderItem(1, QtGui.QTableWidgetItem("col2"))
            table.setHorizontalHeaderItem(2, QtGui.QTableWidgetItem("col3"))
            table.horizontalHeader().setStretchLastSection(True)
            # table.verticalHeader().setStretchLastSection(True)
    
    if __name__ == '__main__':
        app = QtGui.QApplication(sys.argv)
        w = Window()
        w.show()
        sys.exit(app.exec_())
    

    图片:

    【讨论】:

    猜你喜欢
    • 2017-05-10
    • 1970-01-01
    • 2014-08-28
    • 2021-12-04
    • 2017-09-09
    • 2019-01-06
    • 2018-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多