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();
    }
  • 相关阅读:
    观察者模式
    vim7.4+python3配置
    GAN_李弘毅讲解
    关于Anaconda的环境和包管理
    inception v1-v3 & Xception
    python使用PDB进行调试
    python中“*”、"*args"、"kwargs"三种用法
    解决样本类别不平衡以及困难样本问题的方法总结
    Focal Loss
    RefineDet网络简介(转载)
  • 原文地址:https://www.cnblogs.com/zzzsj/p/15066498.html
Copyright © 2011-2022 走看看