Pyqt:在 QtDesigner 中创建选项卡

Posted

技术标签:

【中文标题】Pyqt:在 QtDesigner 中创建选项卡【英文标题】:Pyqt: Creating a tab in QtDesigner 【发布时间】:2018-06-15 18:02:50 【问题描述】:

所以我有以下问题。我有一个包含 Tabwidget 的 MainWindow。在我的主界面中,我想通过以下方式访问每个标签页中的小部件:

self.tab1.MyLineEdit
self.tab2.MyLineEdit

等等。

所以每个选项卡都包含 MyLineEdit,但我想访问不同的选项卡作为 QWidgetclass 选项卡实例的成员。我怎样才能在 Qtdesigner 中做到这一点?我可以以某种方式在 QtDesigner 中创建一个选项卡,然后将其加载到 tabwidget(可能是 self.tabWidget.add() 吗?)?我怎么能这样做?

提前致谢

【问题讨论】:

【参考方案1】:

您可以通过此代码添加标签:

from PyQt4 import QtGui
from PyQt4 import QtCore
import sys

def main():
    app     = QtGui.QApplication(sys.argv)
    tabs    = QtGui.QTabWidget()
# Create tabs
    tab1    = QtGui.QWidget()   
    tab2    = QtGui.QWidget()
    tab3    = QtGui.QWidget()
    tab4    = QtGui.QWidget()
    # Resize width and height
    tabs.resize(250, 150)
    # Set layout of first tab
    vBoxlayout  = QtGui.QVBoxLayout()
    pushButton1 = QtGui.QPushButton("Start")
    pushButton2 = QtGui.QPushButton("Settings")
    pushButton3 = QtGui.QPushButton("Stop")
    vBoxlayout.addWidget(pushButton1)
    vBoxlayout.addWidget(pushButton2)
    vBoxlayout.addWidget(pushButton3)
    tab1.setLayout(vBoxlayout)   

    # Add tabs
    tabs.addTab(tab1,"Tab 1")
    tabs.addTab(tab2,"Tab 2")
    tabs.addTab(tab3,"Tab 3")
    tabs.addTab(tab4,"Tab 4") 

    # Set title and show
    tabs.setWindowTitle('PyQt QTabWidget @ pythonspot.com')
    tabs.show()

    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

【讨论】:

以上是关于Pyqt:在 QtDesigner 中创建选项卡的主要内容,如果未能解决你的问题,请参考以下文章

PyQt5 - 具有相同对象的选项卡

在 pyqt 设计器中创建的对象上的 findChild

我们如何在按钮单击时在 pyqt 中打开特定于选项卡的选项卡?

使用 QtDesigner PyQt4 创建自定义小部件

从多个类组成 PyQt5 UI

如何在 Qt Designer 中创建一个打开 QFileDialog 的信号?