qt 給qtablewidget QTabBar设置滚动条滑轮
时间: 2023-07-22 11:17:54 浏览: 369
如果你想要在QTableWidget的QTabBar上启用滚动条滑轮,你可以使用QScroller类实现。QScroller是一个Qt的滚动条控制器,它可以用于滚动QAbstractScrollArea的子类,包括QTableWidget。
示例代码如下:
```
QTableWidget *tableWidget = new QTableWidget(this);
QTabBar *tabBar = tableWidget->findChild<QTabBar *>();
if (tabBar != nullptr) {
QScroller::grabGesture(tabBar, QScroller::LeftMouseButtonGesture);
}
```
这将启用QTableWidget的QTabBar的滚动条滑轮功能,当标签页数量超过可见区域时,可以使用鼠标滚轮滚动标签页。注意,我们使用了QTableWidget的findChild()函数来获取QTabBar对象。然后,我们使用QScroller::grabGesture()函数将滚动条滑轮手势添加到QTabBar上,这将启用滚动条滑轮功能。
相关问题
qt 給qtablewidget QTabBar设置滚动条
如果你想在QTableWidget的QTabBar上启用滚动条,你可以通过将QTabWidget的setUsesScrollButtons属性设置为true来实现。示例代码如下:
```
QTableWidget *tableWidget = new QTableWidget(this);
QTabBar *tabBar = tableWidget->findChild<QTabBar *>();
if (tabBar != nullptr) {
QTabWidget *tabWidget = qobject_cast<QTabWidget *>(tabBar->parent());
if (tabWidget != nullptr) {
tabWidget->setUsesScrollButtons(true);
}
}
```
这将在QTableWidget的QTabBar上启用滚动条,当标签页数量超过可见区域时,会自动出现滚动条。注意,我们使用了QTableWidget的findChild()函数来获取QTabBar对象,然后使用qobject_cast()函数获取QTabWidget对象,最后使用setUsesScrollButtons()函数将滚动条启用。
qt 給qtablewidget QTabBar设置滚动条 不是他自带的滚动按钮
如果你想在QTableWidget的QTabBar上启用自定义风格的滚动条,你可以使用QProxyStyle类实现。QProxyStyle是一个Qt的样式代理类,它可以用于修改现有的Qt样式。
示例代码如下:
```
class CustomProxyStyle : public QProxyStyle
{
public:
CustomProxyStyle(QStyle *baseStyle = nullptr) : QProxyStyle(baseStyle) {}
void drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const override
{
if (element == QStyle::PE_IndicatorTabTear && widget && qobject_cast<const QTabBar *>(widget)) {
// 绘制自定义滚动条
// ...
return;
}
QProxyStyle::drawPrimitive(element, option, painter, widget);
}
};
QTableWidget *tableWidget = new QTableWidget(this);
QTabBar *tabBar = tableWidget->findChild<QTabBar *>();
if (tabBar != nullptr) {
QTabWidget *tabWidget = qobject_cast<QTabWidget *>(tabBar->parent());
if (tabWidget != nullptr) {
tabWidget->setStyle(new CustomProxyStyle(tabWidget->style()));
}
}
```
这将在QTableWidget的QTabBar上启用自定义风格的滚动条。我们首先创建了一个CustomProxyStyle类,它继承自QProxyStyle,并重写了drawPrimitive()函数。我们在这个函数中检查是否绘制QStyle::PE_IndicatorTabTear元素,如果是,则绘制自定义滚动条。然后我们在主函数中创建了一个CustomProxyStyle对象,并设置给QTabWidget的样式。这将启用自定义风格的滚动条。你需要根据自己的需求实现自定义滚动条的绘制。
阅读全文