gpt4 book ai didi

python - 将复选框动态插入到 tabWidget 中

转载 作者:太空宇宙 更新时间:2023-11-03 20:41:34 26 4
gpt4 key购买 nike

我正在使用 pyQt5 构建一个小型应用程序。到目前为止,我已经使用 QtCreator 构建了一个 UI,使用 pyuic 将其转换为 Python 文件,现在按下按钮,它应该使用具有从字符串列表中提取的标签的复选框动态填充 tabWidget 的选项卡。我似乎无法找出解决这个问题的最佳方法。

到目前为止,我已经完成了以下操作。

  1. 将 UI 文件与我的主要 Python 代码链接。
  2. 处理按钮点击以调用插入复选框的函数。
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
self.auth_select.clicked.connect(self.handle_auth)
self.show()
def populate_tabs(self):
self.tabWidget.addWidget(QtWidgets.QCheckBox())

我似乎无法弄清楚如何将复选框动态插入到某个选项卡中。假设我的选项卡名称是 main_tab;我想插入 5 个复选框,其标签和 ID 来自 2 个列表 labels[]ids[]

最佳答案

好吧,对于任何偶然发现这一点的人。我按照如下所述进行了处理。

  1. 创建布局来容纳内部元素
  2. 将 QWidget 动态插入到此布局中
  3. 最后将您需要的选项卡/小部件的布局设置为上述内容。

一个小例子是[从上面扩展]

class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
self.auth_select.clicked.connect(self.handle_auth)
self.show()
self.populate_tabs(connection_string)
def populate_tabs(self, connection_string):
layout = QGridLayout()
for i in range(1, 5):
for j in range(1, 10):
layout.addWidget(QCheckBox("Check #{}".format(i)) , i, j)

self.tabWidget.widget(2).setLayout(layout)

关于python - 将复选框动态插入到 tabWidget 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56834175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com