QTab 小部件。如何将一个标签移动到正确的位置?
QTabWidget. How to move one tab to right position?
从左到右的标准布局选项卡。所有标签都在附近。
如何改变一个标签的位置,使其贴在右边缘?像这样:
可以吗?
是的,您可以使用样式 sheet.
进行设置
from PyQt4.QtGui import *
style = """QTabWidget::tab-bar{
alignment: right;
}"""
class MyWidget(QTabWidget):
def __init__(self, parent=None):
super(MyWidget, self).__init__(parent)
self.mW1 = QWidget(self)
self.mW2 = QWidget(self)
self.addTab(self.mW1, "w1")
self.addTab(self.mW2, "w2")
self.setStyleSheet(style)
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
w = MyWidget()
w.show()
app.exec_()
对了,还有一个方法
self.setTabPosition(QTabWidget.East)
这将显示在东
您可能想在最后一个小部件之前插入一个空的小部件,然后将其禁用并将其设置为透明。
这实现了你想要的。为此附上示例代码。
from PyQt4 import QtGui
import sys
def main():
app = QtGui.QApplication(sys.argv)
tabW = QtGui.QTabWidget()
tabW.setStyleSheet("QTabBar::tab:disabled {"+\
"width: 300px;"+\
"color: transparent;"+\
"background: transparent;}")
pushButton1 = QtGui.QPushButton("QPushButton 1")
pushButton2 = QtGui.QPushButton("QPushButton 2")
tab1 = QtGui.QWidget()
tab2 = QtGui.QWidget()
emptySpace = QtGui.QWidget()
tab3 = QtGui.QWidget()
vBoxlayout = QtGui.QVBoxLayout()
vBoxlayout.addWidget(pushButton1)
vBoxlayout.addWidget(pushButton2)
#Resize width and height
tabW.resize(500, 500)
#Set Layout for Third Tab Page
tab3.setLayout(vBoxlayout)
tabW.addTab(tab1,"Tab 1")
tabW.addTab(tab2,"Tab 2")
tabW.addTab(emptySpace,"ES")
tabW.setTabEnabled(2,False)
tabW.addTab(tab3,"Tab 3")
tabW.setWindowTitle('PyQt QTabWidget Add Tabs and Widgets Inside Tab')
tabW.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
从左到右的标准布局选项卡。所有标签都在附近。
如何改变一个标签的位置,使其贴在右边缘?像这样:
可以吗?
是的,您可以使用样式 sheet.
进行设置from PyQt4.QtGui import *
style = """QTabWidget::tab-bar{
alignment: right;
}"""
class MyWidget(QTabWidget):
def __init__(self, parent=None):
super(MyWidget, self).__init__(parent)
self.mW1 = QWidget(self)
self.mW2 = QWidget(self)
self.addTab(self.mW1, "w1")
self.addTab(self.mW2, "w2")
self.setStyleSheet(style)
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
w = MyWidget()
w.show()
app.exec_()
对了,还有一个方法
self.setTabPosition(QTabWidget.East)
这将显示在东
您可能想在最后一个小部件之前插入一个空的小部件,然后将其禁用并将其设置为透明。 这实现了你想要的。为此附上示例代码。
from PyQt4 import QtGui
import sys
def main():
app = QtGui.QApplication(sys.argv)
tabW = QtGui.QTabWidget()
tabW.setStyleSheet("QTabBar::tab:disabled {"+\
"width: 300px;"+\
"color: transparent;"+\
"background: transparent;}")
pushButton1 = QtGui.QPushButton("QPushButton 1")
pushButton2 = QtGui.QPushButton("QPushButton 2")
tab1 = QtGui.QWidget()
tab2 = QtGui.QWidget()
emptySpace = QtGui.QWidget()
tab3 = QtGui.QWidget()
vBoxlayout = QtGui.QVBoxLayout()
vBoxlayout.addWidget(pushButton1)
vBoxlayout.addWidget(pushButton2)
#Resize width and height
tabW.resize(500, 500)
#Set Layout for Third Tab Page
tab3.setLayout(vBoxlayout)
tabW.addTab(tab1,"Tab 1")
tabW.addTab(tab2,"Tab 2")
tabW.addTab(emptySpace,"ES")
tabW.setTabEnabled(2,False)
tabW.addTab(tab3,"Tab 3")
tabW.setWindowTitle('PyQt QTabWidget Add Tabs and Widgets Inside Tab')
tabW.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()