老实说,我不了解资源文件以及如何让我的事情能够完成,因为它部分解释了我,我很困惑在哪里放置图标以及如何在我的程序中显示它.
setWindowIcon(QIcon(":/images/icon.png"));
Run Code Online (Sandbox Code Playgroud)
它不会显示甚至显示错误.
看下图:

我已经Sub Window动态创建了。
我尝试使用 setWindowIcon如下函数:
mdiWindows->setWindowIcon(QIcon("icon.ico"));
Run Code Online (Sandbox Code Playgroud)
但效果不佳。
另请参阅以下代码(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();
Run Code Online (Sandbox Code Playgroud)
如何更改MDI子窗口图标?
在一个简单的 Qt 应用程序中,如下所示:
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
app.setWindowIcon(QIcon(":/qapp/appicon.ico"));
...
Run Code Online (Sandbox Code Playgroud)
我们在第二行设置图标(这一行和资源中的图标文件是我的测试程序和Qt向导生成的应用程序的唯一区别)。这个应用程序在 Windows XP 上运行完美,但在 Windows 7 上我们看不到窗口左上角的图标(系统显示默认图标而不是我的 appicon.ico)。
开发者电脑配置:
更新:
开发者的操作系统是Windows XP,所以我们有一个临时的答案。当我们在装有 Windows 7 的计算机上编译此应用程序时,问题消失了(应用程序在 WinXP 和 Win7 上正确显示图标)。所以现在我们必须在 Windows 7 上编译这个应用程序的版本。但这看起来不是完美的解决方案。
你有什么想法,如何更好地解决这个问题?
我使用的是QT 4.7.0.我在Windows中创建了一个项目.我在按钮上使用了一些图标,但是当我将.exe文件移动到另一台Windows机器时,图标不显示.如果我在开发机器上运行该程序,则会出现图标.
我创建了一个qrc文件并添加了图标.