在以下 Python 代码段中,应用程序在我运行时崩溃。我在 Mac OS X、Windows 和 Ubuntu 上对其进行了测试:
import sys
from PySide.QtCore import *
from PySide.QtGui import *
class TabbedWindow(QTabWidget):
def __init__(self):
super(TabbedWindow, self).__init__()
self.setWindowTitle(u"Tabs Test")
self.resize(800, 600)
self.addTab(QTextEdit(), "Tab 1")
self.addTab(QCalendarWidget(), "Tab 2")
self.setTabsClosable(True)
tabBar = self.tabBar()
menuButton = QPushButton('')
menuButton.resize(0,0)
tabBar.setTabButton(1, QTabBar.RightSide, menuButton)
def main():
app = QApplication(sys.argv)
window = QMainWindow()
tabs = TabbedWindow()
window.setCentralWidget(tabs)
window.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
当我删除此行时tabBar.setTabButton(1, QTabBar.RightSide, menuButton)
,它起作用了!
此外,如果我将这条线移动到main
功能:它也可以!我的意思是当我将它添加到主要功能时:
tabBar = tabs.tabBar()
menuButton = QPushButton('')
menuButton.resize(0,0)
tabBar.setTabButton(1, QTabBar.RightSide, menuButton)
我想要做的是在某些选项卡上隐藏关闭按钮。
是否有任何解决方法来执行此操作?