简体   繁体   English

重用QWidget PyQt5

[英]Reuse QWidget PyQt5

I have a predefined widget with qtDesigner, and I want to use it in several tabs. 我有一个带有qtDesigner的预定义小部件,我想在多个选项卡中使用它。 If I add several times a new tab by adding the widget, it only does it once. 如果我通过添加小部件多次添加一个新选项卡,则只会执行一次。 For example: 例如:

for i in range(3):
    self.tab_widget_name.addTab(self.widget_name, str(i))

Such as @user3419537 mentioned, you have to create new widget for each tab, it's not enough to change label of the tab. 如提到的@ user3419537,您必须为每个选项卡创建新的小部件,仅更改选项卡的标签是不够的。

self.tabs = QTabWidget(self)

self.tab1 = QWidget()
self.tab2 = QWidget()
self.tab3 = QWidget()

self.tabs.addTab(self.tab1, "1")
self.tabs.addTab(self.tab2, "2")
self.tabs.addTab(self.tab3, "3")

Alternatively, you can do it in a for loop, but you might loose reference to the tab widget (if you don't mind): 另外,您可以在for循环中执行此操作,但是您可能会松散对选项卡小部件的引用(如果您不介意的话):

for i in range(3):
    self.widget_name = QWidget()
    self.tab_widget_name.addTab(self.widget_name, str(i))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM