Linux tabwidget 页切换总是有动画,无法通过样式表设置和setTabTransition取消,还有什么方法
时间: 2024-02-16 12:05:04 浏览: 126
如果您使用的是Qt框架,可以通过在TabWidget中设置QTabWidget::NoTabAnimation样式选项来禁用页切换动画。示例代码如下:
```python
tabWidget.setStyleSheet("QTabWidget::pane { border: 0; } QTabBar::tab { height: 35px; width: 150px; } QTabWidget::NoTabAnimation {subcontrol-origin: 1; subcontrol-position: 0; }")
```
如果您不想使用样式表,可以通过继承QTabWidget并重写tabBarClicked()函数来实现取消页切换动画。示例代码如下:
```python
from PyQt5.QtWidgets import QTabWidget, QTabBar
class TabWidget(QTabWidget):
def __init__(self, parent=None):
super(TabWidget, self).__init__(parent)
self.tabBarClicked.connect(self.disableAnimation)
def disableAnimation(self, index):
tabBar = self.tabBar()
tabBar.setUpdatesEnabled(False)
self.setCurrentIndex(index)
tabBar.setUpdatesEnabled(True)
```
在这个示例中,我们重写了tabBarClicked()函数,在函数中禁用了QTabBar的更新,并通过setCurrentIndex()函数取消了页切换动画。
阅读全文