如何更改 MDI 子窗口图标?

2024-02-24

看下图:

我已经创建了Sub Window动态地。

我尝试使用setWindowIcon函数如下:

mdiWindows->setWindowIcon(QIcon("icon.ico"));

但效果不佳。

另请参阅以下代码(MDI 窗口创建):

QWidget *widget = new QWidget(this);
QTextEdit *TextEdit = new QTextEdit(widget);
TextEdit->setObjectName("myTextEdit");
QMdiSubWindow *mdiWindows = ui->mdiArea->addSubWindow(widget);
mdiWindows->setGeometry(5, 5, 300, 250);
mdiWindows->setWindowTitle("untitled" + QString::number(ui->mdiArea->subWindowList().count()));
mdiWindows->setWindowState(Qt::WindowMaximized);
mdiWindows->layout()->addWidget(TextEdit);
mdiWindows->layout()->setContentsMargins(0,0,0,
mdiWindows->layout()->setSpacing(
mdiWindows->show();

如何更改MDI子窗口图标?


怎么了?

我尝试使用setWindowIcon函数如下: mdiWindows->setWindowIcon(QIcon("icon.ico"));

但你做错了,因为:

  1. 您将图标设置为mdiWindow 本身而不是它的子窗口。
  2. 除了,.ico is for Windows 中的应用程序图标, 你应该 只需使用.jpg or .png格式。默认支持格式列表详情可见here http://qt-project.org/doc/qt-4.8/qimagereader.html#supportedImageFormats.

(如果你坚持.ico文件,有一个解决方法。查看:“.ico 图标未显示在 Windows 上” https://stackoverflow.com/questions/13891591/ico-icons-not-showing-up-on-windows)


解决方案:

因此,改变这一行mdiWindows->setWindowIcon(QIcon("icon.ico"));

进入:widget->setWindowIcon(QIcon(":/myIcon/icon.png"));

(请注意,您可以对其他 QWidget 衍生产品执行相同的操作:QMainWindow、QDialog...等来设置其窗口图标)

换句话说,将上面的行插入到您的代码中:

//QWidget *widget = new QWidget(this);
//QTextEdit *TextEdit = new QTextEdit(widget);
//TextEdit->setObjectName("myTextEdit");
widget->setWindowIcon(QIcon(":/myIcon/icon.png")); 
//QMdiSubWindow *mdiWindows = ui->mdiArea->addSubWindow(widget);
//mdiWindows->setGeometry(5, 5, 300, 250);
//mdiWindows->setWindowTitle("untitled" + QString::number(ui->mdiArea->subWindowList().count()));
//mdiWindows->setWindowState(Qt::WindowMaximized);
//mdiWindows->layout()->addWidget(TextEdit);
//mdiWindows->layout()->setContentsMargins(0,0,0,
//mdiWindows->layout()->setSpacing(
//mdiWindows->show();

P.S.

以防万一,如果您想稍后设置它们,您可以致电QMdiArea::subWindowList() http://qt-project.org/doc/qt-4.8/qmdiarea.html#subWindowList获取 mdiWindows 列表,然后分别设置它们的图标。例如:

mdiWindows->subWindowList().at(1)->setWindowIcon(QIcon(":/myIcon/icon.png"));

这工作原理是一样的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改 MDI 子窗口图标? 的相关文章

  • C# AES Rijndael - 检测无效密码

    我正在使用 Rijndael 加密程序中的一些敏感数据 当用户输入错误的密码时 大多数情况下CryptographicException抛出消息 填充无效且无法删除 然而 CryptStream 不会抛出密码错误的异常 而是返回错误解密的流
  • 如何指定CMAKE外部项目的编译器?

    我使用ExternalProject Add 包含一个外部项目 我想要的是能够做到 cmake DCMAKE CXX COMPILER
  • 如何在C编程中获取当前时间(以毫秒为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 如何使用 ANSI C 测量以毫秒为单位的时间 https stackoverflow com questions 361363 how to measure time in milliseconds
  • 无法在更新面板中找到上传的文件

    aspx
  • 使用 gcc 编译 C 时,预处理的 .i 文件中的数字意味着什么?

    我想了解编译过程 我们可以使用以下命令查看预处理器中间文件 gcc E hello c o hello i or cpp hello c gt hello i 我大致知道预处理器的作用 但我很难理解某些行中的数字 例如 1 usr incl
  • 将内核链接到 PTX 函数

    我可以使用 PTX 文件中包含的 PTX 函数作为外部设备函数 将其链接到另一个应调用该函数的 cu 文件吗 这是另一个问题CUDA 将内核链接在一起 https stackoverflow com questions 20636800 c
  • 在 DefaultHttpContext 上使用 FeatureCollection 时,响应对象为 null

    我正在测试一些 net Core 中间件 并希望使用整个 asp net Core http 管道来运行中间件 而不是模拟它 问题是 当我使用特征集合时 不知何故 响应对象没有在 httpRequest 中设置 并且它在请求本身上是只读的
  • 整数与双精度算术性能?

    我正在编写一个 C 类来使用整数执行 2D 可分离卷积 以获得比双对应更好的性能 问题是我没有获得真正的性能提升 这是 X 过滤器代码 对于 int 和 double 情况都有效 foreach pixel int value 0 for
  • 编译器在函数名称前添加下划线前缀的原因是什么?

    当我看到 C 应用程序的汇编代码时 如下所示 emacs hello c clang S O hello c o hello s cat hello s 函数名称以下划线作为前缀 例如callq printf 为什么这样做以及它有什么优点
  • 适用于 Windows 的键值数据库?

    除了 MongoDB 和 Memcached 之外 Windows 上还运行哪些键值存储 我见过的大多数似乎只能在 Linux 上运行 Hypertable Redis Lightcloud 相关链接 是否有经过商业验证的云存储 Key g
  • 在标准库中静态链接时如何支持动态插件?

    假设一个应用程序myapp exe是使用构建的g 它使用标志 static libstdc 这样就可以安装在没有环境的情况下libstdc so myapp exe还添加了对某些功能的插件支持plugf可以通过动态加载dlopen来自共享库
  • 使用 for 循环创建链表

    这是我的结构 struct ListItem int data struct ListItem next 假设链表的第一个节点的 data 0 我想编写一个 for 循环来创建大小为 5 的链表 但我不知道如何工作 我尝试了以下方法 int
  • 锁定文件的一个块

    我有一个大小为 192k 的文件 我想锁定文件的中间部分 例如 我想用 c 锁定文件的 64k 128k 知道如何锁定文件的那部分吗 你需要使用锁定文件Ex http msdn microsoft com en us library win
  • DLL 中的 XP 风格组合框

    我需要使用 C 和 WIN32 API 无 MFC 在 DLL 中创建 XP 风格的组合框 我设法在 DLL 中创建控件 不是以 XP 风格 我设法在带有清单的 exe 中创建 XP 样式组合框 但它在 DLL 中不起作用 为了让您的 DL
  • 一个对大文件有效的轻量级 XML 解析器?

    我需要解析潜在的巨大 XML 文件 所以我猜这排除了 DOM 解析器 是否有任何优秀的 C 轻量级 SAX 解析器 在占用空间上可与 TinyXML 相媲美 XML的结构非常简单 不需要诸如命名空间和DTD之类的高级东西 只是元素 属性和
  • MPI_Gatherv:根数组中收到的垃圾值

    我正在尝试实施MPI Gatherv函数于C 根据我的程序 包括 root 在内的每个进程都应该创建一个大小等于 进程的等级 1 这将在所有单元格中保持进程的等级 然后这个本地数组被收集到根的 rcv array 中 不知何故 我得到了垃圾
  • C# 记录类型:记录子类之间的相等比较

    给定父记录类型 public record Foo string Value 和两个记录子类Bar and Bee我想知道是否可以实施Equals在基类中 因此 Foo Bar 或 Bee 的实例都被考虑equal基于Value 两者都与E
  • 即使对于新上下文,OnModelCreating 也仅调用一次

    我有多个相同但内容不同的 SQL Server 表 在编写代码优先 EF6 程序时 我尝试为每个程序重用相同的数据库上下文 并将表名称传递给上下文构造函数 然而 虽然每次都会调用构造函数 但尽管每次都是从 new 创建数据库上下文 但 On
  • 如何通过Task.ContinueWith创建传递?

    我想在原始任务结束时添加一个任务 但想保留原始结果和类型 附加任务仅用于记录目的 例如写入控制台等 例如 Task Run gt DateTime Now Hour gt 12 Hey throw new Exception Continu
  • 字符串常量之前应有非限定 ID

    我目前正在编写一个 C 应用程序 它与 math h 结合实现了振荡器 我拥有的代码应该可以很好地用于该应用程序 尝试编译目标文件 但是我遇到编译器错误 很可能与语法 等有关 我认为这与命名空间有关 错误 终端输出 User Name Ma

随机推荐

  • std::vector::resize() 与 gcc 4.7.0 的奇怪行为

    我仍然对 的行为感到困惑std vector resize 考虑以下代码 另请参阅std vector 的类型要求 https stackoverflow com questions 12251368 type requirements f
  • 如何检测包含(水平)合并单元格的 Word 表格?

    当 Word 表格包含水平合并的单元格时 访问 Table Columns First 或对 Table Columns 执行 Foreach 将导致错误 有没有办法确定表格是否包含水平合并的单元格而不导致错误 我读了确定Word单元格是否
  • 带替换的 Blob.decode 似乎不起作用

    这段代码 my or blob Blob new or ords or blob decode ascii replacement 0 strict False say 失败 Will not decode invalid ASCII co
  • 为静态 sqlite3* 句柄调用 sqlite3_close

    我想在 Objective C 中提供对 sqlite 数据库的访问 我不希望调用者担心数据库本身 所以我打算在我的 DataStore m 中做这样的事情 import DataStore h import
  • 如何将项目推送到 Vuejs 数据对象的数组中? Vue 似乎没有关注 .push() 方法

    我正在尝试将对象添加到我在 Vue 实例数据对象中声明的数组中 我可以在状态的购买对象中设置值 但是当我将数据推送到订单队列数组中时 不会填充空数组 函数正在被触发 但数组没有更新 这是我的表格
  • 如何在Eclipse插件中以编程方式设置TextEditor的字符串输入?

    我想要的是 我想为我的 Eclipse 编辑器插件编写 JUnit 测试 为此我想设置一个我的实例TextEditor扩大 然后我想设置这个的输入TextEditor来自字符串 因此字符串的内容是编辑器实例的输入 然后我想运行一些测试并断言
  • ISR 和中断处理程序之间有区别吗?

    我正在研究操作系统 并且遇到了 ISR 和中断处理程序这两个术语 它们是同一机制的两个词吗 如果不是 有什么区别 中断处理程序和 ISR 没有区别 Wiki http en wikipedia org wiki Interrupt hand
  • 如何保持Javascript数组排序,而不对其进行排序

    我有一个 Node js 应用程序 我必须经常执行以下操作 检查特定数组是否已包含特定元素 如果元素确实存在 则更新它 如果元素不存在 则将其推入数组 然后使用下划线 sortBy对其进行排序 为了检查该元素是否已存在于数组中 我使用这个二
  • 资源解释为样式表但使用 mime 类型文本普通问题进行传输?

    我正在 Apache 2 2 中工作 我的本地主机打开了我的网页 但没有应用 CSS 也没有加载背景图像 我不知道为什么 使用 Chrome 开发者工具时 我收到以下警告 resource interpreted as stylesheet
  • Delphi 7 到 Delphi XE2 .res 文件问题

    当我在 Delphi XE2 中打开 Delphi 7 项目并打开项目选项时 出现错误 Unable to set Icon Cannot open file AppName Icon ico The system cannot find
  • 在深度嵌套的目录树中定义子项目

    如何在嵌套目录树中定义子项目 其中子项目文件夹不是根项目的直接子项目 root lala A lulu B 现在我想将 A 和 B 添加为子项目 如果我做 settings gradle include lala A lulu B 然后 l
  • AFNetworking SSL 固定过期证书

    如果 iOS 应用程序使用 ssl pinning 如何更新过期的 ssl 证书 似乎只有应用程序更新才能更新证书 但不更新应用程序的用户将不会收到此更新 关键是要理解可能的值 https github com AFNetworking A
  • 如何在文档中嵌入作用域 html (css)

    我需要能够将从远程 api 获取的 HTML 片段 嵌套元素和 CSS 嵌入到我的文档中 这样它们的 CSS 就不会影响我的整个文档 我需要获取 随机 gmail 消息 HTML 并将它们嵌入到我的网站中 问题是大多数消息都有 CSS 标签
  • ES6 中的二维数组

    长话短说 我正在寻找一种使用 ES6 创建和填充 2D 数组的方法 以避免for循环 创建的数组应包含全 0 我尝试了很多不同的方法 所以我无法发布所有这些方法 var r c 5 5 var m Array r fill Array c
  • 如何阻止 Visual Studio“总是”检查解决方案文件?

    显然没有任何原因 每次我打开解决方案时 Visual Studio 都会检查 sln 文件 如果我将它与以前的版本进行比较 没有任何变化 但这确实令人沮丧 因为每个人都检查了解决方案 我使用的是 VS 2008 和 TFS 2008 都是
  • IOS UIImageView 显示为黑色背景

    所以我有这个可扩展的函数UIImages 我用它来初始化UIImageView带有图像 我的问题是 当显示图像时 它周围总是有一个黑色矩形 尽管图像是背景完全透明的 png 这是缩放方法以及初始化UIImageView UIImage im
  • AngularJS 错误:缩小后的 $injector:modulerr

    嘿伙计们我收到一个错误Error injector modulerr当我缩小 Angular JS 1 应用程序时 到目前为止 我已经研究过这是我调用依赖项的方式HomeController但是我不确定我可能哪里出错了 我注意到这里有一些预
  • JavaScript 括号将原始类型转换为对象

    如果数字是原始类型 为什么我可以这样做 gt 12345 toString 12345 括号是将原始类型转换为Number 不 括号只是让解析器理解 不是小数点 12345 toString 也会起作用 每当您访问原始数字的属性时 原始数字
  • 如何在 scrapy pipelines.py 文件中导入 django 模型

    我正在尝试在 pipelines py 中导入一个 django 应用程序的模型 以使用 django orm 保存数据 我在第一个涉及的 django 应用程序 app1 中创建了一个 scrapy 项目 scrapy project 顺
  • 如何更改 MDI 子窗口图标?

    看下图 我已经创建了Sub Window动态地 我尝试使用setWindowIcon函数如下 mdiWindows gt setWindowIcon QIcon icon ico 但效果不佳 另请参阅以下代码 MDI 窗口创建 QWidge