Qt4应用程序图标没有出现在Windows任务栏上
Qt4 application icon not appearing on Windows taskbar
我的Qt4应用程序启动时,Windows 7和Windows XP的任务栏上没有出现图标。我怎样才能让它出现?
当我最小化我的应用程序,它变成一个小的没有窗口的标题栏在左下方。
顺便说一下,我在我的CMakeLists.txt中做了以下操作,以防止控制台窗口与我的应用程序一起标记:
if(WIN32)
add_executable( codequery WIN32 ${CODEQUERY_SRCS} ${CODEQUERY_MOC_SRCS} ${CODEQUERY_RC_SRCS} ${CODEQUERY_UI_HDRS} ${QM} )
else()
add_executable( codequery ${CODEQUERY_SRCS} ${CODEQUERY_MOC_SRCS} ${CODEQUERY_RC_SRCS} ${CODEQUERY_UI_HDRS} ${QM} )
endif()
下面是我的主要函数:
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QMainWindow *wndw = new QMainWindow;
mainwindow mw(wndw, &app);
mw.show();
return app.exec();
}
下面是mainwindow声明的一部分:
namespace Ui {
class MainWindow;
}
class mainwindow : public QMainWindow
{
Q_OBJECT
public:
Ui::MainWindow *ui;
mainwindow(QMainWindow *parent = NULL, QApplication *app = NULL);
virtual ~mainwindow();
这是它的构造函数的一部分:
#include "mainwindow.h"
#include "ui_mainWindow.h"
mainwindow::mainwindow(QMainWindow *parent, QApplication *app)
:QMainWindow(parent)
,m_app(app)
,ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
GUI部分是使用Qt Designer设计的,它被生成为ui_mainWindow.h。
setupUi函数的一部分:
void setupUi(QMainWindow *MainWindow)
{
if (MainWindow->objectName().isEmpty())
MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
MainWindow->resize(629, 600);
QIcon icon;
icon.addFile(QString::fromUtf8(":/mainwindow/images/logo.png"), QSize(), QIcon::Normal, QIcon::Off);
MainWindow->setWindowIcon(icon);
我找到了!必须添加WS_EX_APPWINDOW
#ifdef _WIN32
#include <windows.h>
#endif
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QMainWindow *wndw = new QMainWindow;
mainwindow mw(wndw, &app);
mw.show();
#ifdef _WIN32
ShowWindow(mw.winId(), SW_HIDE);
SetWindowLongPtr(mw.winId(), GWL_EXSTYLE,
GetWindowLongPtr(mw.winId(), GWL_EXSTYLE) | WS_EX_APPWINDOW);
ShowWindow(mw.winId(), SW_SHOW);
#endif
return app.exec();
}
相关文章:
- 有没有任务栏API可以立即应用注册表更改
- 如何使用任务栏按钮显示进度条?
- 如何使用QSplashScreen时显示任务栏图标
- 检查任务栏中的当前应用程序吗?(C ,Windows API)
- 获取窗口任务栏项
- 如何为 QT Windows 应用程序设置不同的桌面快捷方式图标和任务栏图标不同
- 从Windows任务栏执行时ifstream问题
- 当我打开一个新对话框时,如何禁止在Qt编程的Windows任务栏中显示对话框
- 使用win32监视Windows任务栏状态更改
- 如何在Windows中制作任务栏(系统托盘)应用程序
- 在XP上使用windows文件资源管理器时,停止打开explorer.exe任务栏
- 如何在运行时设置 Windows 任务栏图标
- 如何在正常用户环境中以编程方式隐藏 Windows 8 上的任务栏
- Windows 7 上 Win32 应用程序的任务栏中的放大图标错误
- Windows Mobile 隐藏任务栏和菜单栏
- 将Windows 7窗口标记为始终位于顶部,包括Win7任务栏(自定义错误)
- 从Windows 7任务栏中禁用"Aero Blur"(使用C++?
- Qt4应用程序图标没有出现在Windows任务栏上
- 如何在Windows 7中结合不同进程的任务栏图标
- 更改 Windows 上的任务栏按钮颜色