[PyQt] Strange thing about tabbar.. Help me to solve..
Jebagnana Das
jebagnanadas at gmail.com
Fri Dec 18 10:27:05 GMT 2009
Hello all,
I just started learning pyqt and it's been nice.. When i'm experimenting
with the tabbar i encountered this.. As a minimal example i want to show a
button in tab1 and a label in tab2.. Here's what i did
from PyQt4 import QtGui
class Ui_TabWidget(QtGui.QTabWidget):
def __init__(self,parent=None):
QtGui.QTabWidget.__init__(self,parent)
self.setObjectName("TabWidget")
self.resize(400, 300)
self.setWindowTitle(QtGui.QApplication.translate("TabWidget",
"TabWidget", None, QtGui.QApplication.UnicodeUTF8))
#Creating the tabbar
self.tabBar=QtGui.QTabBar(self)
#Adding the first tab
self.tabBar.addTab("tab1")
self.tabBar.setTabText(0,"TAB1")
#The widget intended for tab1
self.widgetforTab1=QtGui.QWidget()
self.addTab(self.widgetforTab1,"")
self.buttonForTab1=QtGui.QPushButton(self.widgetforTab1)
self.buttonForTab1.setText("Button in Tab1")
#Adding the second Tab
self.tabBar.addTab("tab2")
self.tabBar.setTabText(1,"TAB2")
#The widget intended for tab2
self.widgetForTab2=QtGui.QWidget()
self.addTab(self.widgetForTab2,"")
self.labelForTab2=QtGui.QLabel(self.widgetForTab2)
self.labelForTab2.setText("Label in Tab2")
#Adding the tabbar to the tabwidget
self.setTabBar(self.tabBar)
self.tabBar.setMovable(True)
self.setCurrentIndex(0)
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
ui = Ui_TabWidget()
ui.show()
sys.exit(app.exec_())
In the above program the widget intended for tab1 and tab2 functioned well.
Anyhow i can't see a connection between the widget and the tabbar.. The
tabbar tab is created independently and so the tabwidget tab. Both have tab
titles the one given for tabbar alone is shown.. But if i set the index as o
the first tab is shown along with widgetForTab1..
In my second program the lack of coupling between the widget and tabbar is
the cause for the problem..
from PyQt4 import QtGui
class Ui_TabWidget(QtGui.QTabWidget):
def __init__(self,parent=None):
QtGui.QTabWidget.__init__(self,parent)
self.setObjectName("TabWidget")
self.resize(400, 300)
self.setWindowTitle(QtGui.QApplication.translate("TabWidget",
"TabWidget", None, QtGui.QApplication.UnicodeUTF8))
#Creating the tabbar
self.tabBar=QtGui.QTabBar(self)
#Adding the first tab
self.tabBar.addTab("tab1")
self.tabBar.setTabText(0,"TAB1")
#Adding the second Tab
self.tabBar.addTab("tab2")
self.tabBar.setTabText(1,"TAB2")
self.tabBar.setMovable(True)
#Adding the tabbar to the tabwidget
self.setTabBar(self.tabBar)
#The widget intended for tab1
self.widgetforTab1=QtGui.QWidget()
self.addTab(self.widgetforTab1,"")
self.buttonForTab1=QtGui.QPushButton(self.widgetforTab1)
self.buttonForTab1.setText("Button in Tab1")
#The widget intended for tab2
self.widgetForTab2=QtGui.QWidget()
self.addTab(self.widgetForTab2,"")
self.labelForTab2=QtGui.QLabel(self.widgetForTab2)
self.labelForTab2.setText("Label in Tab2")
self.setCurrentIndex(0)
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
ui = Ui_TabWidget()
ui.show()
sys.exit(app.exec_())
The output for the second program was horrible.. I got four with first
two tabs with no tab text and the tabs had Button in Tab1,Label in
Tab2,Label in Tab2 and Label in Tab2 respectively.. Can you tell me why
this is happening??? What should i do to solve this problem???
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20091218/204225c4/attachment-0001.html
More information about the PyQt
mailing list