首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pyqt QTabWidget setCornerWidget TopRightCorner

pyqt QTabWidget setCornerWidget TopRightCorner
EN

Stack Overflow用户
提问于 2020-02-27 08:08:54
回答 1查看 528关注 0票数 0

我有一个QTabWidget,并在他的右上角添加了一个集合标签。当我设置标签的宽度和高度时,它的边框与我添加的'a‘选项卡交叉。我想设置lalel的宽度和高度。不要跨越我添加的'a‘选项卡,我应该如何设置

代码语言:javascript
复制
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()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-27 11:11:43

如果从标签中删除了setFixedSize(),就可以通过以::right-corner为目标的样式表来控制QTabWidget的大小和位置。

代码语言:javascript
复制
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,您还可以使用topbottomleftright以及像素值来移动控件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60424448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档