QTabWidget 大小取决于当前选项卡

2023-11-23

I've a QTabWidget,其中包含不同高度的小部件(它们的宽度是固定的),但是,默认实现QTabWidget选择最大的部件的高度作为自己的高度。

我想知道是否有一种(可能快速)的方法来改变大小QTabWidget取决于其当前选项卡,以在显示较小选项卡时节省空间。


您可以设置显示的小部件的大小策略QSizePolicy::Preferred和其他的QSizePolicy::Ignored。在那通电话之后adjustSize更新尺寸。例如,您可以连接currentChanged的信号QTabWidget到一个插槽:

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

并在插槽中设置大小策略并相应调整大小:

void MainWindow::updateSizes(int index)
{
    for(int i=0;i<ui->tabWidget->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();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QTabWidget 大小取决于当前选项卡 的相关文章

  • C 中的变量定义是什么意思[重复]

    这个问题在这里已经有答案了 你们能告诉我 这在 C 中意味着什么吗 define Privileged Data Privileged Data static int dVariable 编译器对变量进行寻址有特殊意义吗 这只是一个宏Pri
  • 扫描文本文件时如何跳过行?

    我想扫描一个文件并在阅读之前跳过一行文本 我试过 fscanf pointer n struct test i j 但这个语法只是从第一行开始 我可以使用 scanf 使用以下指令跳过行 fscanf config file n n 格式字
  • 更快的算法来计算有多少数字可以被范围内的特定整数整除

    int a b c d 0 cin gt gt a gt gt b gt gt c for int i a i lt b i if i c 0 d cout lt
  • 如何将pdf页面设置设置为打印属性对话框?

    大家好 我想知道如何设置 pdf 页面设置到打印属性对话框 例如 如果我的 PDF 页面设置为横向 则布局会自动显示横向而不是纵向 如果我的 PDF 页面设置为纵向 则布局会自动显示纵向 我在这个主题上做了很多研发 但没有找到任何满意的链接
  • 如何使用汇编获取BIOS时间?

    我正在从头开始实现一个小型操作系统 用于教育目的 现在 我想使用汇编来获取 BIOS 时间 我对此进行了很多搜索 但找不到任何代码示例来执行此操作 如果有人可以提供任何参考或代码示例或与此相关的任何内容 我将非常感激 See 时钟中断 1a
  • C# 中附加/分离事件处理程序的不同方式有什么区别

    我的问题有两个部分 首先 我们可以通过以下两种方式附加事件处理程序 myObject MyEvent new EventHandler MyHandler myObject MyEvent MyHandler 据我了解 这两者是等价的 在第
  • 如何在 Windows 窗体中运行屏幕保护程序作为其背景?

    如何在 Windows 窗体中运行屏幕保护程序作为其背景 用户还可以在屏幕保护程序运行时与表单控件进行交互 为什么这个 我们有一个案例 需要在用户时运行 Windows Bubbles 屏幕保护程序 可以继续与表单控件交互吗 您可以使用以下
  • 将 C# 反射代码移植到 Metro-Ui

    我正在尝试移植使用反射的现有 C 类 通用工厂 但我无法编译这段代码 Type types Assembly GetAssembly typeof TProduct GetTypes foreach Type type in types i
  • 将成员函数作为参数传递/c++

    我想用 C 实现一个类b可以通过封装该迭代器类型的成员集进行某种迭代 喜欢 b object for each x do function f so 函数 f会得到每个人的x成员并做任何事情 比方说 void function f x me
  • 导出到 CSV 时 Gridview 出现空行

    这个问题是由进一步讨论引发的这个问题 https stackoverflow com questions 6674555 export gridview data into csv file 6674589 noredirect 1 com
  • 如何使用泛型类型的 DataContractSerializer 编写自定义序列化器?

    我想编写一个自定义序列化器 用于将会话状态存储到Azure 缓存 预览版 这意味着这个自定义序列化器必须实现IDataCacheObjectSerializer 如果我错了 请告诉我 我需要编写这个自定义序列化程序的原因是我需要序列化一些包
  • QThread - 使用槽 quit() 退出线程

    我想在线程完成运行时通知对象 但是 我无法让线程正确退出 我有以下代码 处理器 cpp thread new QThread tw new ThreadWorker connect tw SIGNAL updateStatus QStrin
  • 从包含大量文件的目录中检索文件

    我的目录包含近 14 000 000 个 wav 格式的音频样本 所有普通存储 没有子目录 我想循环浏览文件 但是当我使用DirectoryInfo GetFiles 在该文件夹上 整个应用程序冻结了几分钟 可以用另一种方式完成吗 也许读取
  • 如何不在类中实现接口的功能?

    面试时面试官问了我以下问题 但我不知道这个问题的答案是什么 请帮忙 如果我不想 我必须做什么 在我的类中实现一个函数 在接口中声明为 由我班实施 Edited 我正在使用 NET 和 C 如果有人可以提供 C 示例代码示例 那就太好了 Th
  • QML MouseArea 将事件传播到按钮

    我正在开发一个应用程序 其菜单类似于 Android 版 Gmail 收件箱应用程序菜单 基本上 当您按下按钮打开菜单时 它就会滑入视图 用户可以将其滑开或按菜单上的按钮 对于滑动我使用了代码SwipeArea from kovrov ht
  • 是什么原因导致 Linq 错误:此方法无法转换为存储表达式?

    我有一堆具有相同 select 语句的 Linq to Entity 方法 所以我想我会很聪明 并将其分离到它自己的方法中以减少冗余 但是当我尝试运行代码时 我得到了以下内容错误 该方法不能转化为 商店表达式 这是我创建的方法 public
  • realloc():重新分配为 char * 上的 strcat 腾出空间时下一个大小无效 [重复]

    这个问题在这里已经有答案了 我在以下代码中收到无效内存错误 printf s n FINE 5 printf s LENGTH IS d n FINE 6 strlen buffer char realloc buffer strlen b
  • 将一个 long 转换为两个 int 以进行重构

    我需要将一个参数作为两个 int 参数传递给 Telerik Report 因为它不能接受长参数 将 long 拆分为两个 int 并在不丢失数据的情况下重建它的最简单方法是什么 使用掩蔽和移位是最好的选择 根据文档 long 保证为 64
  • 为什么 C# 接口名称前面加上“I”

    这种命名约定背后的基本原理是什么 我没有看到任何好处 额外的前缀只会污染 API 我的想法与康拉德一致response https stackoverflow com a 222502 9898与此相关的question https sta
  • 创建带有部分的选项卡式侧边栏 WPF

    我正在尝试创建一个带有部分的选项卡式侧边栏 如 WPF 中的以下内容 我考虑过几种方法 但是有没有更简单 更优雅的方法呢 方法一 列表框 Using a ListBox并将 SelectedItem 绑定到右侧内容控件所绑定的值 为了区分标

随机推荐

  • javascript 使用 setTimeout() 超时/睡眠

    如何设置 2 秒超时来等待页面控件填充 我想使用 javascript 我已尝试以下但无济于事 setTimeout function 2000 setTimeout 2000 有谁能提供指点吗 setTimeout function pu
  • 在 PHP 中生成 OAuth 1 签名

    我正在尝试连接到LivePerson 参与历史 API我遇到了一个我认为与生成的签名有关的问题 首先 API 已经提供了必要的消费者密钥 消费者秘密 访问令牌和令牌秘密 所以我不必经历检索这些的过程 为了访问他们的 API 我只需要提供 a
  • 实体类名转换为带下划线的SQL表名

    我定义了以下实体 Entity Table name EmailTemplate public class EmailTemplate 尽管有表格注释 我还是收到了java sql SQLException Invalid object n
  • 如果镜像输入数据,XSL 文档会是什么样子?

    XSL 的典型用法是 XML1 xml gt transformed using xsl gt XML2 xml 如果我想简单地镜像输入数据 XSL 文档是什么样子的 ex XML1 xml gt transformed using xsl
  • 如何配置Clion编译gtkmm项目

    我从 GTK 复制了一个示例项目 include
  • hyperledger Fabric - 如何删除对等点上的链码?

    我安装了两个chaincode在对等点上 basic network master bin peer chaincode list installed 2018 06 25 10 37 44 825 CST msp GetLocalMSP
  • 基于颜色python的物体边界框

    我尝试在这张图片中的每个对象上绘制一个边界框 我写了这段代码文档 import cv2 as cv2 import os import numpy as np img cv2 imread 1 2 png img cv2 cvtColor
  • GetTickCount() 是否包括暂停或休眠的时间?

    为了澄清 我的意思是花在system被挂起 休眠 而不是调用线程 GetTickCount 返回自系统启动以来的毫秒数 据我所知 GetTickCount与线程无关 它统计系统启动以来的时间 但最好使用获取TickCount64以避免 49
  • InstallShield Basic MSI 项目通过命令行 IsCmdBld.exe 生成新的 GUID

    我有一个 Installshield 项目 ism 我希望能够通过命令行运行它 有一种可能的方法可以通过 CommadnLine 使用 IsCmdBld exe 生成新的产品代码 注意 不能使用其他构建软件 提前致谢 正如 Steve 提到
  • 哪些Android Fragment生命周期方法需要super

    目前 Android API 17 唯一提到的是super在安卓中片段参考是随意通过一些代码示例 不像Android活动参考 它仔细地记录了哪里super是必须的 所以建议搜索网络根据需要 或等待崩溃 以确定调用的位置super是必须的 我
  • 将熊猫切割后的垃圾箱分类

    使用熊猫cut我可以通过提供边缘来定义垃圾箱 并且 pandas 创建垃圾箱 例如 a b 我的问题是如何对垃圾箱进行排序 从最低到最高 import numpy as np import pandas as pd y pd Series
  • IE9 中缩小后的图像质量较差

    我注意到 IE9 以非常低的质量渲染缩小尺寸的图像 如果我在 200x150 IMG 标签中显示 800x600 jpg 图像 则 IE9 中的结果非常令人失望 同一页面在 IE8 和 Chrome 中显示完美 IE7也可以 只要我用CSS
  • linq where 列表包含列表中的任何内容

    使用 linq 如何检索其属性列表与另一个列表匹配的项目列表 以这个简单的例子和 伪代码为例 List
  • :app:assembleRelease 和 assembleRelease 之间的区别

    我的 android 项目中有多个模块 如果我制作一个发行版APK app assembleRelease它可以工作 但是当我用以下命令发布 apk 时assembleRelease它一直显示错误 我知道我的代码中有错误 但这不是我要质疑的
  • 为什么 Haskell 中不需要工厂模式? OOP 中的模式解决的需求在 Haskell 中是如何解决的?

    我读了这个问题有关抽象工厂模式 但唯一的答案是尝试emulate在 Haskell 中就像在 OOP 语言中一样 尽管前言是这样的在 Haskell 中你不需要它 另一方面 我的目的并不是要在像 Haskell 这样的函数式语言上强制采用特
  • 如何在youtube embed api中监听seek事件

    您好 我正在使用 youtube iframe 嵌入 API 我想跟踪用户的搜索视频事件 请帮助我如何跟踪这个 没有简单的方法可以单独使用 api 来跟踪事件 你可以做的是间隔运行一个javascript函数并检查测量的时间差是否与预期的不
  • Rails 可选 /:locale 路线

    我正在尝试为我的 Rails 应用程序设置一个路由系统 该系统允许将可选路由 locale 允许到网站的底部 所以或多或少 en home 将转到与 home 相同的页面 en people gt people 我遇到的唯一问题是在路由配置
  • GoogleCertificatesRslt:Kotlin Android 应用程序中不允许

    我正在开发一个使用 Kotlin 作为开发语言的 Android 应用程序 该应用程序显示地图并应该加载标记 但是 地图会加载 但标记不会加载 我收到安全异常GoogleCertificatesRslt not allowed我发现这可能是
  • 检测前景窗口何时发生变化

    我知道哪个使用GetForegroundWindow函数我可以获取当前活动窗口句柄 但是现在i want to detect when the active window of any application changes become
  • QTabWidget 大小取决于当前选项卡

    I ve a QTabWidget 其中包含不同高度的小部件 它们的宽度是固定的 但是 默认实现QTabWidget选择最大的部件的高度作为自己的高度 我想知道是否有一种 可能快速 的方法来改变大小QTabWidget取决于其当前选项卡 以