pyqt - Python: How to share the same widget -
there qtabwidget 2 tabs: 'a' , 'b'.
and there listwidgeta = qtgui.qlistwidget() want share among 'a' , 'b'.
so far unable find way assign listwidgeta 2 different layouts. assigning 1 layout cancels assignment another. don't want create qtgui.qlistwidget() since produce lot of duplicate/repetitive code. here example. interesting know if there solution situation this.
from pyqt4 import qtgui, qtcore import sys, os class dialog_01(qtgui.qmainwindow): def __init__(self): super(qtgui.qmainwindow,self).__init__() mytabwidget = qtgui.qtabwidget() qgroupboxa = qtgui.qgroupbox() qhboxlayouta = qtgui.qhboxlayout() qgroupboxa.setlayout(qhboxlayouta) mytabwidget.addtab(qgroupboxa,' tab ') listwidgeta = qtgui.qlistwidget() in range(12): qtgui.qlistwidgetitem( 'item '+str(i), listwidgeta ) qhboxlayouta.addwidget(listwidgeta) qgroupboxb = qtgui.qgroupbox() qhboxlayoutb = qtgui.qhboxlayout() qgroupboxb.setlayout(qhboxlayoutb) # qhboxlayoutb.addwidget(listwidgeta) mytabwidget.addtab(qgroupboxb,' tab b ') self.setcentralwidget(mytabwidget) if __name__ == '__main__': app = qtgui.qapplication(sys.argv) dialog_1 = dialog_01() dialog_1.show() dialog_1.resize(480,320) sys.exit(app.exec_())
as far know, each widget has exactely 1 parent.
you consider using 2 qlistview
widgets (instead of qlistwidget
) share 1 , 1 model. avoid concern duplicate/repetitive code.
Comments
Post a Comment