zoukankan      html  css  js  c++  java
  • QT -- QTabWidget改变选项卡的位置

    QTabWidget选项卡的位置默认是上面(North)。如下图

    在这里插入图片描述

    当我们想改变选项卡的为外观和位置是可以调用一下两个函数 setTabShape() 和 setTabPosition()。

    选项卡外观函数:

    QTabWidget::setTabShape(QTabWidget::Rounded); //默认(圆形)
    QTabWidget::setTabShape(QTabWidget::Triangular); //三角形

    选项卡位置函数:

    QTabWidget::setTabPosition(QTabWidget::North); //默认为上面
    QTabWidget::setTabPosition(QTabWidget::South); //下面(默认为上面)
    QTabWidget::setTabPosition(QTabWidget::West); //左侧(默认为上面)
    QTabWidget::setTabPosition(QTabWidget::East); //右侧(默认为上面)

    运行效果:

    选项卡在下面
    选项卡在左边
    选项卡在右边

    代码:

    #include "qttests.h"
    #include <QtWidgets/QApplication>
    #include <QtWidgets/QtWidgets>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        QWidget w;
    
        QWidget *pw = new QWidget();  
        QWidget *pw1 = new QWidget();
        QWidget *pw2 = new QWidget();
    
        QRadioButton *pr,*pr1,*pr2,*pr3,*pr4,*pr5;
        
        pr = new QRadioButton("AAA"); 
        pr1 = new QRadioButton("BBB");
        pr2 = new QRadioButton("CCC"); 
        pr3 = new QRadioButton("DDD");
        pr4 = new QRadioButton("EEE"); 
        pr5 = new QRadioButton("FFF");
    
        QVBoxLayout *pv = new QVBoxLayout;
        QVBoxLayout *pv1 = new QVBoxLayout;
        QVBoxLayout *pv2 = new QVBoxLayout;
    
        pv->addWidget(pr);
        pv->addWidget(pr1);
        pw->setLayout(pv);
    
        pv1->addWidget(pr2);
        pv1->addWidget(pr3);
        pw1->setLayout(pv1);
    
        pv2->addWidget(pr4);
        pv2->addWidget(pr5);
        pw2->setLayout(pv2);
    
        QtTests *pt = new QtTests(&w);
        pt->addTab(pw, "AA");
        pt->addTab(pw1, "BB");
        pt->addTab(pw2, "CC");
        
        pt->move(22, 55);
        pt->resize(222, 222);
    
        //pt->setTabPosition(QTabWidget::South);        //下面(默认为上面)
        //pt->setTabPosition(QTabWidget::West);        //左侧(默认为上面)
        pt->setTabPosition(QTabWidget::East);        //右侧(默认为上面)
    
        pt->setTabShape(QTabWidget::Triangular);    //表头为三角形外观(默认为圆形)
        //pt->setTabShape(QTabWidget::Rounded);
    
        cout << pt->indexOf(pw1) << endl;
        cout << pt->indexOf(pr) << endl;
    
        w.resize(300, 300);
        w.show();
    
        return a.exec();
    }
  • 相关阅读:
    vue技术分享之你可能不知道的7个秘密
    JVM知识总结-运行时区域划分
    如何使用加多宝(jdb)在linux下调试Java程序
    RabbitMQ 高可用之镜像队列
    Gson格式转换Integer变为Double类型问题解决
    IPv6地址表示方式
    MySQL truncate()函数的使用说明
    Java 实现判断 主机是否能 ping 通
    MySQL 性能优化系列之一 单表预处理
    Linux 查看CPU和内存的使用情况
  • 原文地址:https://www.cnblogs.com/zzzsj/p/15066498.html
Copyright © 2011-2022 走看看