gpt4 book ai didi

qt - 标签关闭按钮位置

转载 作者:行者123 更新时间:2023-12-04 15:13:44 25 4
gpt4 key购买 nike

我想在我的 Qt 应用程序中设置我的标签样式如下:

enter image description here

我使用了以下样式表:

QTabBar{background-color: #fff; border-top: 0px;}
QTabBar::tab {
border-image: url(:/New_UI/tab_inactive.png) 7 17 7 2;
margin-left: 2px;
border-right: 17px;
border-top: 5px;
border-bottom: 5px;
font: 400 9.2pt "Segoe UI";
color: #ccc;
padding: 0px 13px 0px 5px;
max-height: 26px;
}

QTabBar::tab:selected, QTabBar::tab:hover {
border-image: url(:/New_UI/tab_active.png) 6 17 6 2;
}

QTabBar::close-button {
image: url(:/New_UI/tab_close.png);
subcontrol-origin: padding;
subcontrol-position: right;
width: 13px;
height: 13px;

}

结果如下(关闭按钮位置不是我想要的):

enter image description here

我做错了什么&我怎么能得到我想要的结果?

最佳答案

编辑:我知道这篇文章很旧,但我希望它可以帮助其他人。

经过几次测试,我认为有一种方法可以做到这一点,但它不使用 Qt style sheets :

  • 子类化您的 QTabWidget拥有对 protected 功能的完全访问权限
  • 创建您自己的 QWidgetQPushButton作为您的关闭按钮
  • 使用样式表属性管理按钮的位置(例如 margin-right)
  • 将您的按钮添加到选项卡 tabBar()->setTabButton(index, QTabBar::RightSide, closeButton);

  • 我用于测试的代码:
    MyTab::MyTab(QWidget *parent) : QTabWidget(parent)
    {
    /// Create your button
    QPushButton *close = new QPushButton(this);

    // Add a tab
    addTab(new QWidget(), QIcon(), "Tab 1");
    setStyleSheet("QTabBar::tab { width : 150px;}");

    // Size and move your button
    close->setStyleSheet("max-height: 14px; max-width: 15px; margin-right: 50px;");

    // Add your button to the tab
    tabBar()->setTabButton(0, QTabBar::RightSide, close);
    }

    最后,在 MainWindow 中,我将自己的 TabWidget 添加到布局中:
    ui->layout->addWidget(new MyTab(this));

    结果 :

    enter image description here

    但是现在您必须通过连接按钮来手动处理关闭操作并获取 removeTab(index) 的索引。称呼。

    关于qt - 标签关闭按钮位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13137069/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com