qtabwidget 高度,QTabWidget的大小取决于当前选项卡[通俗易懂]

qtabwidget 高度,QTabWidget的大小取决于当前选项卡[通俗易懂]I’veaQTabWidget,whichcontainswidgetsofdifferentheights(theirwidthsarefixed),however,thedefaultimplementationofQTabWidgetselectsthebiggestwidget’sheightasownheight.WhatIwould…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

qtabwidget 高度,QTabWidget的大小取决于当前选项卡[通俗易懂]

I’ve a QTabWidget, which contains widgets of different heights (their widths are fixed), however, the default implementation ofQTabWidget selects the biggest widget’s height as own height.

What I would like to know if there’s a (possible fast) way to change the size of QTabWidget depending on its current tab, to save space when smaller tabs are shown.

解决方案

You can set the size policy of the widget that is displayed to QSizePolicy::Preferred and the other ones to QSizePolicy::Ignored. After that call adjustSize to update the sizes. For example you can connect the currentChanged signal of the QTabWidget to a slot :

connect(ui->tabWidget,SIGNAL(currentChanged(int)),this, SLOT(updateSizes(int)));

And set size policies and adjust sizes accordingly in the slot :

void MainWindow::updateSizes(int index)

{

for(int i=0;itabWidget->count();i++)

if(i!=index)

ui->tabWidget->widget(i)->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);

ui->tabWidget->widget(index)->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);

ui->tabWidget->widget(index)->resize(ui->tabWidget->widget(index)->minimumSizeHint());

ui->tabWidget->widget(index)->adjustSize();

resize(minimumSizeHint());

adjustSize();

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193418.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月25日 下午9:22
下一篇 2025年11月25日 下午10:01


相关推荐

  • JAVA代码实现FTP文件下载

    JAVA代码实现FTP文件下载JAVA实现FTP文件下载

    2022年5月5日
    57
  • 什么叫侧面指纹识别_正面背面侧面 你手机的指纹识别长在哪?

    什么叫侧面指纹识别_正面背面侧面 你手机的指纹识别长在哪?指纹识别已成为手机行业对热门技术之一,目前市面上常见的指纹识别模块搭载的位置主要有,正面、后背、侧面三种,比如说三星GalaxyS6、OPPOR9集成在正面Home键里,小米Note3、华为Mate8等装在了手机背部,LGV10植入到手机后边的电源键里,索尼XperiaZ5则放在手机侧面。正面背面侧面你手机的指纹识别长在哪?有人说指纹识别在正面最科学,但有些人则认为在背面更合理,此外…

    2022年6月23日
    66
  • linux ip路由不可达原理,traceroute原理

    linux ip路由不可达原理,traceroute原理traceroute 也就是 traceroute 跟踪路由 这个程序最早是 VanJacobson 实现的 源码在网上可以找到 不过我还没有去找 主要的原理是 IP 路由过程中对数据包 TTL TimetoLive 存活时间 的处理 当路由器收到一个 IP 包时 会修改 IP 包的 TTL 及由此造成的头部检验和 checksum 变化 每收到一个包 检查这个的 TTL 是否是 0 或 1 如果是 表明这个包还没有

    2026年3月26日
    2
  • MiFlash提示“错误代码”为“0xffffffff”[通俗易懂]

    MiFlash提示“错误代码”为“0xffffffff”[通俗易懂]当MiFlash提示“未指定的错误”时,我们可以根据其后的错误代码来寻求问题的解决方法。当MiFlash提示“错误代码”为“0xffffff01”时,表明“MiFlash找不到指定的文件”。对此我们可以通过以下方法来解决:右击“计算机”图标,从弹出的右键菜单中选择“属性”项。从打开的“系统属性”窗口中,点击左上角的“高级系统设置”按钮进入详细设置界面。待打开“系统属性”窗口后,切换到“高级”选项卡,点击“环境变量”按钮打开其设置对话框。从打开的“环境变量”窗口中,从“系统变量”列表中找到“Path

    2022年5月16日
    102
  • vue纯前端分页_基于vue的表格组件

    vue纯前端分页_基于vue的表格组件vue分页组件(比上一版本好看一些),贴代码vue-page.js代码如下varvuePage={ template:’<divclass="page-bar"id="pager">\ <spanclass="form-inline">\ <selectclass="form-control"v-model=&a

    2022年10月1日
    4
  • 选项卡html js代码,js选项卡

    选项卡html js代码,js选项卡一 js 实现简单选项卡与自动切换效果的方法设置一个标识数字置为 0 写一个每过几秒标识 1 执行切换效果的函数 然后执行 当标识超过当前选项卡长度让标识置为 0 在鼠标移到选项卡的时候关闭定时器 鼠标移走的时候打开定时器 无标题文档 body ul li margin 0 padding 0 font 12px 1 5arial ul li list style none wrap width

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号