取消tab页切换动画
时间: 2023-07-19 09:12:11 浏览: 126
如果你使用的是Qt Designer界面编辑器创建的QTabWidget,可以通过设置QTabWidget的属性来取消tab页切换动画。具体步骤如下:
1. 选中QTabWidget,打开属性编辑器。
2. 展开"QTabWidget"属性组,找到"Tab Shape"属性,将其设置为"Rounded"或"Triangular"。
3. 展开"QTabWidget"属性组,找到"Document Mode"属性,将其设置为"True"。
4. 展开"QTabWidget"属性组,找到"Tab Bar"属性,将其展开。
5. 找到"Selection Behavior"属性,将其设置为"Select Items".
6. 找到"Selection Follows Focus"属性,将其设置为"True"。
7. 找到"Tab Bar Animation"属性,将其设置为"False"。
通过以上设置,就可以取消QTabWidget的tab页切换动画了。如果你是在代码中创建QTabWidget,可以直接调用QTabWidget的setTabBarAnimation()方法将tab页切换动画关闭,具体代码如下:
```python
tabWidget.setTabBarAnimation(QTabWidget.NoAnimation)
```
这样就可以在代码中取消QTabWidget的tab页切换动画了。
相关问题
qt create tabwidget页切换时动画取消
要取消Qt Creator中的TabWidget页切换时的动画,可以通过代码来实现。在TabWidget所在的QWidget的构造函数中,添加以下代码:
```
QTabWidget* tabWidget = new QTabWidget(this);
tabWidget->setDocumentMode(true); // 设置为文档模式
tabWidget->setTabsClosable(true); // 设置选项卡可关闭
tabWidget->setMovable(true); // 设置选项卡可移动
tabWidget->setStyleSheet("QTabBar::tab { height: 35px; width: 150px; }"); // 修改选项卡样式
// 取消选项卡页切换时的动画
QTabWidgetPrivate* tabWidgetPrivate = QTabWidgetPrivate::get(tabWidget);
tabWidgetPrivate->tabBar->setSelectionBehaviorOnRemove(QTabBar::SelectPreviousTab);
tabWidgetPrivate->animationsEnabled = false;
```
以上代码中,`tabWidgetPrivate->animationsEnabled = false;` 将取消TabWidget页切换时的动画效果。
当然,也可以通过继承QTabWidget来实现,具体方法可参考以下代码:
```
class MyTabWidget : public QTabWidget
{
public:
MyTabWidget(QWidget *parent = nullptr) : QTabWidget(parent)
{
setDocumentMode(true); // 设置为文档模式
setTabsClosable(true); // 设置选项卡可关闭
setMovable(true); // 设置选项卡可移动
setStyleSheet("QTabBar::tab { height: 35px; width: 150px; }"); // 修改选项卡样式
// 取消选项卡页切换时的动画
QTabWidgetPrivate* tabWidgetPrivate = QTabWidgetPrivate::get(this);
tabWidgetPrivate->tabBar->setSelectionBehaviorOnRemove(QTabBar::SelectPreviousTab);
tabWidgetPrivate->animationsEnabled = false;
}
};
```
以上代码中,新建了一个MyTabWidget类,继承自QTabWidget类,并在构造函数中取消了TabWidget页切换时的动画效果。在使用时,只需要创建MyTabWidget对象即可。
qt create 4.11.0 版本是否支持tabwidget 页面切换的动画取消
是的,Qt Creator 4.11.0 版本支持取消 TabWidget 页面切换动画。你可以通过在代码中设置 TabWidget 的 QTabWidget::NoAnimations 选项来实现。具体可以参考以下代码:
```
QTabWidget* tabWidget = new QTabWidget;
tabWidget->setTabBarAutoHide(true); // 隐藏标签栏
tabWidget->setDocumentMode(true); // 使标签栏风格更加简洁
tabWidget->setTabsClosable(true); // 允许关闭标签页
// 取消页面切换动画
tabWidget->setStyleSheet("QTabWidget::pane { border: 0; } \
QTabBar::tab { margin: 0; padding: 5px; border: 0; } \
QTabWidget::tab-bar { alignment: center; } \
QTabWidget::tab { background-color: white; } \
QTabWidget::tab:selected { border-bottom: 2px solid blue; } \
QTabWidget::tab:!selected:hover { background-color: #eeeeee; } \
QTabWidget::pane { border: 1px solid #C2C7CB; top: -1px; } \
QTabWidget::tab:selected { background-color: white; } \
QTabWidget::tab:!selected { background-color: #E0E1E3; } \
QTabWidget::tab:first:selected { margin-left: 0; } \
QTabWidget::tab:last:selected { margin-right: 0; } \
QTabWidget::tab:first:!selected { margin-left: 0; } \
QTabWidget::tab:last:!selected { margin-right: 0; } \
QTabWidget::tab:only-one { margin: 0; } \
QTabBar::close-button { image: url(:/images/close.png); subcontrol-origin: padding; subcontrol-position: right; } \
QTabBar::close-button:hover { image: url(:/images/close-hover.png); } \
QTabBar::close-button:pressed { image: url(:/images/close-pressed.png); } \
QTabWidget::tab-bar { left: 0px; } \
QTabWidget::tab-bar:top { top: 0px; } \
QTabWidget::tab-bar:bottom { bottom: 0px; } \
QTabWidget::tab-bar:right { right: 0px; } \
QTabWidget::pane { border-top: 2px solid #C2C7CB; } \
QTabWidget::pane:selected { background-color: white; } \
QTabWidget::pane:!selected { background-color: #E0E1E3; } \
QTabWidget::tab:!selected { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); }");
tabWidget->setTabPosition(QTabWidget::North);
tabWidget->setMovable(true);
tabWidget->setUsesScrollButtons(true);
```
这段代码中,我们通过设置 QTabWidget 的 StyleSheet 来取消页面切换动画,并设置了一些其他的样式。注意,这里的样式只是示例,你需要根据实际情况进行调整。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)