如何使QTabWidget的选项卡适合容器的大小 - 调整其长度
How to make the tabs of QTabWidget fit the size of the container - Adjust its lenght?
假设我有一个 5 英寸宽的选项卡小部件,当我向其添加选项卡时,每个选项卡都是 1 英寸宽。如何使选项卡在小部件中占据等长空间,使每个选项卡宽 2.5 英寸?我正在使用QT设计器,是否有可以设置的属性?
好消息是 QTabBar 有一个属性,它几乎完全符合您的要求,即 setExpanding。
坏消息是 QTabWidget 实际上忽略了该属性,因为它总是强制其选项卡为最小大小(即使您设置了自己的选项卡栏)。
最好的解决方法似乎是基于 QTabBar 和 QStackedLayout 创建自己的 TabWidget 类。但请注意,这仍然可能不会扩展选项卡以填充所有可用空间。当我尝试它时,两个选项卡仅扩展以填充三分之二的空间 - 因此如果可以的话,看起来它可能总是在最后为一个选项卡留出空间。
// Qt 5.12.2
class TabWidget : public QTabWidget
{
class TabBar : public QTabBar
{
QSize _size;
public:
TabBar(QWidget* a_parent) : QTabBar(a_parent)
{
setWidth(size().width());
}
QSize tabSizeHint(int index) const
{
return QSize(_size.width()/(count()?count():1), size().height());
}
void setWidth(int a_width)
{
_size = QSize(a_width, size().height());
QTabBar::resize(_size);
}
};
TabBar* _tabBar = new TabBar(this);
public:
TabWidget(QWidget* a_parent) : QTabWidget(a_parent)
{
setTabBar(_tabBar);
}
void resizeEvent(QResizeEvent *e) override
{
_tabBar->setWidth(size().width());
QTabWidget::resizeEvent(e);
}
};
相关文章:
- 为char数组调整zlib-zpipe
- 调整大小后指向元素值的指针unordered_map有效?
- 在C++中调整向量中的索引
- Qt和C++:将QLineEdit添加到QTabWidget中
- 通过选项卡的文本设置QTabWidget顺序
- 哪些库可以通过Opencv调整曝光率
- 如何调整 std::vector of Eigen::MatrixXd 的大小
- Alt+Enter 在 Win32 应用中,管理大小调整和分辨率
- 在容量内调整矢量大小时的性能影响
- 将 boost::odeint 与向量类一起使用,而无需调整向量的大小
- 将摄像机调整到俯视图
- Qt 图表条形图调整大小崩溃
- 除非重新绘制大小,否则SDL_Texture在调整大小后呈现黑色
- 调整布局上的 QGraphicsView 小部件的大小
- 如何在构建链接列表时调整头、尾指针
- 如何将旧的 C 样式 #define 映射与现代C++进行调整?
- 当您在此单词中搜索单词时调整字符数组的大小?
- SDL2 调整窗口大小后如何缩放鼠标坐标?
- 如何按另一个向量的方向调整一个向量?
- 如何使QTabWidget的选项卡适合容器的大小 - 调整其长度