QTabWidget选项卡等分填充
前言
QTabWidget选项卡控件,生成的tabbar选项卡宽度是按照文本自动设置的,文本越长选项卡的宽度越大,很多时候,我们需要的是一样的宽度或者等分填充
设置方式
//方法1:字符串空格填充 ui->tabWidget->addTab(httpClient1, "测 试"); ui->tabWidget->addTab(httpClient1, "人员管理"); ui->tabWidget->addTab(httpClient1, "系统设置"); //方法2:识别尺寸改变事件自动设置最小宽度 void MainWindow::resizeEvent(QResizeEvent *e) { int count = ui->tabWidget->tabBar()->count(); int width = this->width() - 30; QString qss = QString("QTabBar::tab{min-width:%1px;}").arg(width / count); this->setStyleSheet(qss); } //方法3:设置全局样式,不同选项卡个数的设置不同的宽度 QStringList list; list << QString("QTabWidget[tabCount=\"2\"]>QTabBar::tab{min-width:%1px;}").arg(100); list << QString("QTabWidget[tabCount=\"3\"]>QTabBar::tab{min-width:%1px;}").arg(70); qApp->setStyleSheet(list.join("")); //设置了tabCount弱属性自动去找对应的宽度设置 ui->tabWidget->setProperty("tabCount", 2); ui->tabWidget->setProperty("tabCount", 3); //方法4:强烈推荐-》使用内置的方法 setExpanding setDocumentMode 两个属性都必须设置 //Qt4的tabBar()是propected的,所以建议还是通过样式表设置 ui->tabWidget->tabBar()->setDocumentMode(true); ui->tabWidget->tabBar()->setExpanding(true); //样式表一步到位不用每个都单独设置 QString("QTabBar{qproperty-usesScrollButtons:false;qproperty-documentMode:true;qproperty-expanding:true;}"); //在5.9以前开启这个设置后,貌似选项卡个数按照真实个数+1计算宽度,也就是永远会留空一个tab的占位。 //5.9以后貌似修复了这个BUG,按照理想中的拉伸填充等分设置tab的宽度。
版权声明:
作者:小何
链接:https://ligo100.cn/houduanjishu/qt/127.html
来源:小何博客
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
打赏
文章目录
关闭
共有 0 条评论