【问题标题】:PyQt4 - Adding multiple grid layouts to a tab widgetPyQt4 - 将多个网格布局添加到选项卡小部件
【发布时间】:2016-12-31 04:18:16
【问题描述】:

我正在使用 PyQt4 和 Python 2.7。最初我有一个 QGridLayout 布局有两个表格小部件和一些杂项。东西。

self.table_left = QtGui.QTableWidget(self)
self.table_right = QtGui.QTableWidget(self)
self.label_desired = QtGui.QLabel(self)
self.line = QtGui.QLineEdit(self)
self.label_current = QtGui.QLabel(self)

self.grid = QtGui.QGridLayout(self)
self.grid.addWidget(self.table_left, 0, 0, 20, 1)
self.grid.addWidget(self.table_right, 0, 1, 20, 1)
self.grid.addWidget(self.label_desired, 0, 2, 1, 3)
self.grid.addWidget(self.line, 1, 2, 1, 3)
self.grid.addWidget(self.label_current, 2, 2, 1, 3)

但现在我想使用for循环来生成这些表格,以及GridLayout,并将它们添加到一个tabwidget中,

for k, value in enumerate(self.form_no):
    self.grid[k] = QtGui.QGridLayout(self)
    self.grid[k].addWidget(self.table_left[k], 0, 0, 20, 1)
    self.grid[k].addWidget(self.table_right[k], 0, 1, 20, 1)
    self.grid[k].addWidget(self.label_desired[k], 0, 2, 1, 3)
    self.grid[k].addWidget(self.line[k], 1, 2, 1, 3)
    self.grid[k].addWidget(self.label_current[k], 2, 2, 1, 3)
    self.tabwidget.addTab(self.grid[k], str(value))

当我尝试这个时,我得到了一个类型错误。我环顾四周,找不到像 GridWidget 这样的东西。如何解决此错误以将 GridLayouts 添加到选项卡小部件?

TypeError: arguments did not match any overloaded call:
  QTabWidget.addTab(QWidget, QString): argument 1 has unexpected type 'QGridLayout'
  QTabWidget.addTab(QWidget, QIcon, QString): argument 1 has unexpected type 'QGridLayout'

【问题讨论】:

    标签: python pyqt pyqt4


    【解决方案1】:

    QWidget 添加到选项卡而不是添加QLayoutself.tabwidget.addTab(widget)。然后将self.grid[k] 设置为此小部件的布局:widget.setLayout(self.grid[k])

    widget = QtGui.QWidget()
    widget.setLayout(self.grid[k])
    tabwidget.addTab(widget, str(value))
    

    【讨论】:

    • 我收到一个错误提示 self.tabWidget 没有 .addWidget self.tabwidget.addWidget(self.table_widget[k], str(value)) AttributeError: 'QTabWidget' object has no attribute 'addWidget'
    • 对不起 addTab: 固定答案。
    猜你喜欢
    • 2019-07-23
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-14
    • 1970-01-01
    • 2015-04-27
    • 1970-01-01
    相关资源
    最近更新 更多