PyQt5 QTabWidget设置为侧边栏并且文字水平显示 --可能是最好的方法(完美支持QT设计器,每次更新时不需要重复添加文件
效果预览:
使用之前(直接截的设计器里面的图:
使用之后效果:
教程:
1,QT设计器部分:
打开QT设计器,选择已经放入的TabWidget选择提升为:
然后输入下面内容,点击添加和提升:
2,py部分:
在你的ui转py的目录下新建一个文件tabwidget.py
然后在里面加入:
from PyQt5 import QtGui, QtCore, QtWidgets
class HorizontalTabBar(QtWidgets.QTabBar):
def paintEvent(self, event):
painter = QtWidgets.QStylePainter(self)
option = QtWidgets.QStyleOptionTab()
for index in range(self.count()):
self.initStyleOption(option, index)
painter.drawControl(QtWidgets.QStyle.CE_TabBarTabShape, option)
painter.drawText(self.tabRect(index),
QtCore.Qt.AlignCenter | QtCore.Qt.TextDontClip,
self.tabText(index))
def tabSizeHint(self, index):
size = QtWidgets.QTabBar.tabSizeHint(self, index)
if size.width() < size.height():
size.transpose()
return size
class TabWidget(QtWidgets.QTabWidget):
def __init__(self, parent=None):
QtWidgets.QTabWidget.__init__(self, parent)
self.setTabBar(HorizontalTabBar())
3,成功展示:
保存并且确定在QT设计器里面已经把QTabWidget提升为刚才新建的那个,然后转成py
然后直接运行即可看见效果
4,如果你不用QT设计器,那么可以参考下面的资料
参考链接:
https://stackoverflow.com/questions/46607298/pyqt-qtabwidget-horizontal-tab-and-horizontal-text-in-qtdesigner/63198915#63198915
https://stackoom.com/question/3SxP6
QT官方文档(但是基本没看
本文作者:柠檬233
本文链接:https://www.cnblogs.com/Lemon-233/p/16872911.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步