pyqt5 选项卡纵向放置,文字顺时针旋转90度
时间: 2023-06-16 15:07:03 浏览: 388
你可以使用QTabWidget来实现选项卡功能,并通过QTabBar的样式来实现纵向放置和文字旋转的效果。
以下是一个示例代码:
```python
from PyQt5.QtWidgets import QApplication, QTabWidget, QWidget, QVBoxLayout, QTabBar
from PyQt5.QtCore import Qt
class VerticalTabBar(QTabBar):
def paintEvent(self, event):
painter = self.painter()
for i in range(self.count()):
option = self.tabRect(i)
painter.save()
painter.translate(option.center().x(), option.center().y())
painter.rotate(90)
painter.drawText(-option.height()//2, -option.width()//2, option.height(), option.width(), Qt.AlignCenter, self.tabText(i))
painter.restore()
class TabWidget(QTabWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.addTab(QWidget(), "Tab 1")
self.addTab(QWidget(), "Tab 2")
self.addTab(QWidget(), "Tab 3")
self.tabBar().setStyle(VerticalTabBar())
self.tabBar().setShape(QTabBar.RoundedNorth)
if __name__ == '__main__':
app = QApplication([])
widget = TabWidget()
widget.show()
app.exec_()
```
在该示例代码中,我们继承了QTabBar类,重写了它的paintEvent方法,在其中使用painter对象进行绘制,先将坐标系旋转90度,再绘制选项卡文字。然后在TabWidget类中,我们将QTabBar的样式设置为我们自定义的VerticalTabBar,并将选项卡形状设置为QTabBar.RoundedNorth,这样就可以得到一个纵向放置的选项卡。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)