QTabWidget的tabbar居左时Text水平显示问题

原创 2010年11月09日 08:58:00

(开发音视频软件thinkvd的日志)
这个问题我在qtcn bbs中发过http://www.qtcn.org/bbs/read.php?tid=32563,现在把原因及解决思路记录下来。
(补允:没有再用HorusStyle, 这里也有源代码:http://www.qtforum.org/article/28672/how-to-change-qtabwidget-s-tab-positon.html,不过与他的实现方式不同)


当设置tabbar居左时, 直接用QTabWidget存在的几个问题:
1。文字不是水平显示
2。TabBar的内容显示与StackWidget显示冲突
3。调整单个TabBar的高度
4。单个TabBar的press event响应
5. 文字图片位置显示关系

分析原因:
1。QTabWidget::setUpLayout控制Table与stackwidget的关系, 但setUpLayout是private, 解决方法,就是把它重新实现,跟踪代码,发现在QTabWidget::initStyleOption中调整。
2。文字竖直显示要改成水平显示,需要重新实现tabbar::paintevent, 继承QTabtab, 仿效paintevent简单写一个,问题5与它类似
3。问题3,由于它的信息都存在QTabBarPrivate中,把Rect的top, height按显示顺序调整即可。
  问题4与它类似,重新实现mousePressEvent即可. 
  
  这里暂时做了一个demo,还有一些问题待解决,不过主要问题已经解决了。




带网格部分表示currentIndex.

改进一点:

QTabWidget 改变tabBar位置 并改变文字方向

修改QTabWidget tabBar位置并改变文字方向
  • skyztttt
  • skyztttt
  • 2016年09月06日 13:06
  • 5651

Qt学习笔记,设置QTabWidget的TabBar的属性

Qt学习笔记,设置QTabWidget的TabBar的属性 ui->tabWidget->setStyleSheet("QTabBar::tab { height: 25px...
  • pingLinux
  • pingLinux
  • 2011年10月10日 21:15
  • 3833

QTabWidget设置为垂直方向时 文本如何设置为水平方向

这个垂直的tabWidge如何 给文字方向弄水平了呢  通过网上搜集资料,目前了解有以下3种解决方案: 1.通过自定义派生一个QTabwidget类,然后在自定义myQTabWidget类中对于文...
  • xiaozhu2hao
  • xiaozhu2hao
  • 2015年07月23日 10:03
  • 1805

QTabWidget的tabposition为west时,改变tab文字方向为从上到下

QTabWidget在tabPosition设置为west时,tab的文字方向默认为从下到上 要将tab的文字方向设置为从上到下,参照如下: class MyProxyStyle : pu...
  • wwwu_06
  • wwwu_06
  • 2015年03月12日 22:24
  • 3990

设置QTabWidget标题页纵向文字横向排列的写法

设置QTabWidget标题页纵向文字横向排列的写法 “` from PyQt4 import QtGui, QtCoreclass HorizontalTabWidget(QtGui.QTabB...
  • virgiI
  • virgiI
  • 2017年04月18日 13:18
  • 1497

QTabWidget添加自定义样式

参考文章:http://bbs.csdn.net/topics/390632657?page=1
  • libaineu2004
  • libaineu2004
  • 2014年10月06日 17:10
  • 19267

QT之QTabWidget 为West方向时实现文字垂直显示

QTabWidget 设置setTabPosition 为West时,文字垂直显示。/* 创建工程 作者:七嘉伯 博客地址:http://www.qijiabo.cn ...
  • ZuoYueXian
  • ZuoYueXian
  • 2017年07月04日 14:55
  • 937

微信小程序3个关于字体和图片的小问题

微信小程序3个关于字体和图片的小问题 01字体自适应居中 代码: view> text>\n\n欢迎来到微信小程序text> view> view{ width: 10...
  • mylovewanzi
  • mylovewanzi
  • 2018年01月15日 13:07
  • 122

QTabWidget设置为垂直方向时 实现文本内容为水平方向

利用 QProxyStyle设置QtabWidget的样式。 1.h文件 #ifndef TABWIDGET_H #define TABWIDGET_H #include #include ...
  • chyuanrufeng
  • chyuanrufeng
  • 2016年12月21日 10:12
  • 1466

QTabWidget简例/简介及各种问题

简例: tabWidget = new QTabWidget(); //新建第一个页面的部件 QWidget *widget = new QWidget(); QLineEdit *l...
  • u010002704
  • u010002704
  • 2014年11月03日 01:37
  • 7900
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QTabWidget的tabbar居左时Text水平显示问题
举报原因:
原因补充:

(最多只允许输入30个字)