如何使用表单上的按钮向 QTabWidget 添加选项卡?

2024-04-07

我决定为我的脚本编写视觉形式。 这个想法是有一个按钮可以将新选项卡添加到 QTabWidget。它不起作用,我找不到一个好的例子。我使用PyQt5。这是我尝试过的一部分:

import sys
from PyQt5.QtGui import QIcon
from PyQt5 import QtCore, QtWidgets

class mainForm(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        self.runUi()

    def runUi(self):
        self.resize(250, 150)
        self.move(300, 300)
        self.setWindowTitle('Let\'s Rock!')
        self.setWindowIcon(QIcon('icon.png'))
        self.setMaximumSize(QtCore.QSize(560, 522))
        self.setMinimumSize(QtCore.QSize(560, 522))

        groupBoxGD = QtWidgets.QGroupBox('Соединение с ГД', self)
        groupBoxGD.setGeometry(QtCore.QRect(10, 10, 541, 151))

        hrLWGDLink = QtWidgets.QWidget(groupBoxGD)
        hrLWGDLink.setGeometry(QtCore.QRect(10, 10, 521, 31))
        hrLGD = QtWidgets.QHBoxLayout(hrLWGDLink)
        hrLGD.setContentsMargins(0, 0, 0, 0)

        btnAddTab = QtWidgets.QPushButton(hrLWGDLink)
        btnAddTab.setText('Add tab')
        hrLGD.addWidget(btnAddTab)

        tabWidget = QtWidgets.QTabWidget(groupBoxGD)
        tabWidget.setGeometry(QtCore.QRect(10, 170, 541, 351))
        btnAddTab.clicked.connect(self.addProjectTab)
        self.show()

    def addProjectTab(self):
        tab = QtWidgets.QWidget()
        #how add tab at this line?

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    ui = mainForm()
    sys.exit(app.exec_())

你必须使用addTab()函数,但要从另一个类中执行此操作QTabWidget对象必须是类的成员。我还对设计做了一些更改,因为按钮位于QTabWidget,覆盖标签。

from PyQt5 import QtCore, QtGui, QtWidgets
import sys

class mainForm(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        self.runUi()

    def runUi(self):
        self.resize(250, 150)
        self.move(300, 300)
        self.setWindowTitle('Let\'s Rock!')
        self.setWindowIcon(QtGui.QIcon('icon.png'))
        self.setMaximumSize(QtCore.QSize(560, 522))
        self.setMinimumSize(QtCore.QSize(560, 522))

        layout = QtWidgets.QVBoxLayout(self)

        groupBoxGD = QtWidgets.QGroupBox('Соединение с ГД', self)

        layout2 = QtWidgets.QVBoxLayout(groupBoxGD)

        hrLWGDLink = QtWidgets.QWidget(groupBoxGD)
        hrLGD = QtWidgets.QVBoxLayout(hrLWGDLink)
        hrLGD.setContentsMargins(0, 0, 0, 0)
        btnAddTab = QtWidgets.QPushButton(hrLWGDLink)
        btnAddTab.setText('Add tab')

        hrLGD.addWidget(btnAddTab)
        self.tabWidget = QtWidgets.QTabWidget(hrLWGDLink)
        hrLGD.addWidget(self.tabWidget)
        layout2.addWidget(hrLWGDLink)
        layout.addWidget(groupBoxGD)
        btnAddTab.clicked.connect(self.addProjectTab)

    def addProjectTab(self):
        tab = QtWidgets.QWidget()
        self.tabWidget.addTab(tab, "tab")

app = QtWidgets.QApplication(sys.argv)
w = mainForm()
w.show()
sys.exit(app.exec_())

截屏:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用表单上的按钮向 QTabWidget 添加选项卡? 的相关文章

  • 为什么从 Pandas 1.0 中删除了日期时间?

    我在 pandas 中处理大量数据分析并每天使用 pandas datetime 最近我收到警告 FutureWarning pandas datetime 类已弃用 并将在未来版本中从 pandas 中删除 改为从 datetime 模块
  • 元组有什么用?

    我现在正在学习 Python 课程 我们刚刚介绍了元组作为数据类型之一 我阅读了它的维基百科页面 但是 我无法弄清楚这种数据类型在实践中会有什么用处 我可以提供一些需要一组不可变数字的示例吗 也许是在 Python 中 这与列表有何不同 每
  • 将html数据解析成python列表进行操作

    我正在尝试读取 html 网站并提取其数据 例如 我想查看公司过去 5 年的 EPS 每股收益 基本上 我可以读入它 并且可以使用 BeautifulSoup 或 html2text 创建一个巨大的文本块 然后我想搜索该文件 我一直在使用
  • Python 中的舍入浮点问题

    我遇到了 np round np around 的问题 它没有正确舍入 我无法包含代码 因为当我手动设置值 而不是使用我的数据 时 返回有效 但这是输出 In 177 a Out 177 0 0099999998 In 178 np rou
  • 处理 Python 行为测试框架中的异常

    我一直在考虑从鼻子转向行为测试 摩卡 柴等已经宠坏了我 到目前为止一切都很好 但除了以下之外 我似乎无法找出任何测试异常的方法 then It throws a KeyError exception def step impl contex
  • 需要在python中找到print或printf的源代码[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在做一些我不能完全谈论的事情 我
  • 使用 Python 从文本中删除非英语单词

    我正在 python 上进行数据清理练习 我正在清理的文本包含我想删除的意大利语单词 我一直在网上搜索是否可以使用像 nltk 这样的工具包在 Python 上执行此操作 例如给出一些文本 Io andiamo to the beach w
  • 立体太阳图 matplotlib 极坐标图 python

    我正在尝试创建一个与以下类似的简单的立体太阳路径图 http wiki naturalfrequent com wiki Sun Path Diagram http wiki naturalfrequency com wiki Sun Pa
  • Pandas Merge (pd.merge) 如何设置索引和连接

    我有两个 pandas 数据框 dfLeft 和 dfRight 以日期作为索引 dfLeft cusip factorL date 2012 01 03 XXXX 4 5 2012 01 03 YYYY 6 2 2012 01 04 XX
  • 如何在 Python 中解析和比较 ISO 8601 持续时间? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 Python v2 库 它允许我解析和比较 ISO 8601 持续时间may处于不同单
  • Python 2:SMTPServerDisconnected:连接意外关闭

    我在用 Python 发送电子邮件时遇到一个小问题 me my email address you recipient s email address me email protected cdn cgi l email protectio
  • 在 Sphinx 文档中*仅*显示文档字符串?

    Sphinx有一个功能叫做automethod从方法的文档字符串中提取文档并将其嵌入到文档中 但它不仅嵌入了文档字符串 还嵌入了方法签名 名称 参数 我如何嵌入only文档字符串 不包括方法签名 ref http www sphinx do
  • pip 列出活动 virtualenv 中的全局包

    将 pip 从 1 4 x 升级到 1 5 后pip freeze输出我的全局安装 系统 软件包的列表 而不是我的 virtualenv 中安装的软件包的列表 我尝试再次降级到 1 4 但这并不能解决我的问题 这有点类似于这个问题 http
  • 仅第一个加载的 Django 站点有效

    我最近向 stackoverflow 提交了一个问题 标题为使用mod wsgi在apache上多次请求后Django无限加载 https stackoverflow com questions 71705909 django infini
  • Pandas 将多行列数据帧转换为单行多列数据帧

    我的数据框如下 code df Car measurements Before After amb temp 30 268212 26 627491 engine temp 41 812730 39 254255 engine eff 15
  • 为什么 Pickle 协议 4 中的 Pickle 文件是协议 3 中的两倍,而速度却没有任何提升?

    我正在测试 Python 3 4 我注意到 pickle 模块有一个新协议 因此 我对 2 个协议进行了基准测试 def test1 pickle3 open pickle3 wb for i in range 1000000 pickle
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • 如何计算Python中字典中最常见的前10个值

    我对 python 和一般编程都很陌生 所以请友善 我正在尝试分析包含音乐信息的 csv 文件并返回最常听的前 n 个乐队 从下面的代码中 每听一首歌曲都是一个列表中的字典条目 格式如下 album Exile on Main Street
  • Pandas 每周计算重复值

    我有一个Dataframe包含按周分组的日期和 ID df date id 2022 02 07 1 3 5 4 2022 02 14 2 1 3 2022 02 21 9 10 1 2022 05 16 我想计算每周有多少 id 与上周重
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo

随机推荐