pyqt QTabWidget setCornerWidget TopRightCorner
pyqt QTabWidget setCornerWidget TopRightCorner
我有一个QTabWidget,在他的右上角添加了一个set label。当我设置标签的宽度和高度时,它的边框穿过我添加的 'a' 选项卡。我想设置 lalel 的宽度和高度。不要越过我添加的'a'标签,我应该怎么设置
from PyQt4.QtCore import Qt
from PyQt4.QtGui import QTabWidget, QLabel
import sys
from PyQt4 import QtGui
class Setting(QLabel):
def __init__(self):
super(Setting, self).__init__()
self.setText('setting')
self.setStyleSheet("""*{border-width: 1px;
border-style: solid;
border-color: red;}""")
self.setFixedSize(30, 40)
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def create_tab(self):
self.tab = QTabWidget()
self.tab.addTab(QLabel('a'), 'a')
self.tab.setCornerWidget(Setting(), Qt.TopRightCorner)
def initUI(self):
self.create_tab()
h = QtGui.QHBoxLayout()
self.setLayout(h)
h.addWidget(self.tab)
self.setGeometry(100, 100, 500, 500)
self.show()
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
如果您从标签中删除 setFixedSize()
,您可以通过定位 ::right-corner
.
通过 QTabWidget 上的样式表来控制大小和位置
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def create_tab(self):
self.tab = QTabWidget()
self.tab.setStyleSheet('''
QTabWidget::right-corner {
width: 60px;
height: 25px;
subcontrol-position: left bottom;
}''')
self.tab.addTab(QLabel('a'), 'a')
self.tab.setCornerWidget(Setting(), Qt.TopRightCorner)
除了 subcontrol-position
,您还可以使用 top
、bottom
、left
和 right
以及像素值来移动控件。
我有一个QTabWidget,在他的右上角添加了一个set label。当我设置标签的宽度和高度时,它的边框穿过我添加的 'a' 选项卡。我想设置 lalel 的宽度和高度。不要越过我添加的'a'标签,我应该怎么设置
from PyQt4.QtCore import Qt
from PyQt4.QtGui import QTabWidget, QLabel
import sys
from PyQt4 import QtGui
class Setting(QLabel):
def __init__(self):
super(Setting, self).__init__()
self.setText('setting')
self.setStyleSheet("""*{border-width: 1px;
border-style: solid;
border-color: red;}""")
self.setFixedSize(30, 40)
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def create_tab(self):
self.tab = QTabWidget()
self.tab.addTab(QLabel('a'), 'a')
self.tab.setCornerWidget(Setting(), Qt.TopRightCorner)
def initUI(self):
self.create_tab()
h = QtGui.QHBoxLayout()
self.setLayout(h)
h.addWidget(self.tab)
self.setGeometry(100, 100, 500, 500)
self.show()
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
如果您从标签中删除 setFixedSize()
,您可以通过定位 ::right-corner
.
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def create_tab(self):
self.tab = QTabWidget()
self.tab.setStyleSheet('''
QTabWidget::right-corner {
width: 60px;
height: 25px;
subcontrol-position: left bottom;
}''')
self.tab.addTab(QLabel('a'), 'a')
self.tab.setCornerWidget(Setting(), Qt.TopRightCorner)
除了 subcontrol-position
,您还可以使用 top
、bottom
、left
和 right
以及像素值来移动控件。