Qt 怎么让 QTabWidget 只显示 TabBar 50
如题,我用QSplitter对一个QTabWidget和一个QWidget进行水平分裂器布局。现在,我想让QTabWidget只显示QTabBar而不显示它的子QWidg...
如题,我用 QSplitter 对一个 QTabWidget 和 一个 QWidget 进行水平分裂器布局。现在,我想让 QTabWidget 只显示 QTabBar 而不显示它的子 QWidget ,怎么办?我曾试过用 setMaxmiumSize() 和 setFixedSize() 函数来手动调整大小,但是没有用。水平分裂器里的 QWidget 还是原来的大小,没有改变大小。(注:图中 QWidget 没有选中任何 tab 是因为我添加了一个空的高度为0的Tab。)求各路熟悉 Qt 的大神来解答一下本人的疑问,万分感谢!!
展开
2018-09-01 · 知道合伙人互联网行家
关注
展开全部
看源代码后发现QT的Tab的按钮只有left和right两个位置。我需要把关闭按钮定在右上角,解决方法是重写paintEvent函数,加入如下内容:
for(int i=0;i<count();++i)//获得当前tab页的数量
{
QPoint point=tabBar()->tabButton(i,QTabBar::RightSide)->pos();//默认的位置
tabBar()->tabButton(i,QTabBar::RightSide)->move(QPoint(point.x(),5));//通过Y坐标定位
}
for(int i=0;i<count();++i)//获得当前tab页的数量
{
QPoint point=tabBar()->tabButton(i,QTabBar::RightSide)->pos();//默认的位置
tabBar()->tabButton(i,QTabBar::RightSide)->move(QPoint(point.x(),5));//通过Y坐标定位
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询