尝试从QMdiSubWindow中删除Qt图标但收效甚微。下面是一张显示左上角图标的图片。
这是一些代码,似乎应该将Icon设置为空,但不是。
QMdiSubWindow* sub = new QMdiSubWindow;
sub->setAttribute( Qt::WA_DeleteOnClose );
sub->setWidget( myWidget );
sub->setWindowIcon( QIcon() );
//tried this too
//sub->setWindowIcon( QIcon("") );
mdiArea->addSubWindow( traceSub );
谢谢!
答案 0 :(得分:5)
这可以通过以下方式完成:
sub->setWindowIcon( QIcon(QPixmap(1,1)) );
答案 1 :(得分:3)
我没有删除的解决方案,但您可以通过设置透明图标来获得相同的结果。在我的例子中,一个32x32透明的png。
sub->setWindowIcon( QIcon("your_transparent_icon") );
答案 2 :(得分:1)
删除/替换Qt默认窗口图标
首先导航到您的UI(用户界面)表单并访问属性栏(应该在右侧默认值)。 然后向下滚动直到看到“windowIcon”并单击该框并选择下拉箭头。
然后继续选择一个项目,如我的图片1的左侧框中所示。 要添加此处,请在Qt中添加资源中的项目。 这里有一些文档 - http://doc.qt.io/qt-5/resources.html
其他答案是可以接受的,但没有详细介绍从UI进行访问,这不是一个糟糕的方法,但如果你想保留代码中的所有内容,你可以很容易地这样做。
// Replace relevant code, use ico files in UI (method shown above).
form->setWindowIcon(QIcon(QPixmap(1,1)));
使用.ico文件是一种更好,更符合行业标准的方法,因为它可以保持与显示器相关的尺寸,因为它可以容纳各种尺寸的图像。 设置一个透明图标并不是最好的事情,因为当用户运行应用程序时,他们将看不到它并且它看起来很麻烦 - 但是对于测试来说这很好。