Qt使程序不在任务栏中显示

#include <QtGui/QApplication>  
#include <QDockWidget>  
#include <QWidget>  
  
int main(int argc, char *argv[])  
{  
    QApplication a(argc, argv);  
    QWidget widget;  
  
//这样新建的窗口在taskbar没有对应的任务图标,并且不能被关闭,如若需要做桌面悬浮工具栏,可以使用QDockWidget  
    widget.setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint | Qt::X11BypassWindowManagerHint);  
    widget.show();  
    return a.exec();  
}
Qt中,可以通过在程序的窗口类中重写`void changeEvent(QEvent *event)`函数,并在其中判断事件类型为窗口状态改变事件(`event->type() == QEvent::WindowStateChange`),然后设置窗口图标,从而实现程序任务栏中的图标设置。具体步骤如下: 1. 在窗口类头文件中添加`QIcon m_icon;`成员变量,用于存储程序图标。 2. 在窗口类的构造函数中初始化`m_icon`成员变量,代码如下: ``` // 构造函数 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { // 设置程序图标 m_icon = QIcon(":/images/icon.png"); setWindowIcon(m_icon); } ``` 注意,这里的`:images/icon.png`是指程序图标在程序资源文件中的路径。如果程序没有资源文件,也可以直接使用文件路径来初始化`QIcon`对象。 3. 在窗口类中重写`void changeEvent(QEvent *event)`函数,并在其中判断事件类型为窗口状态改变事件,代码如下: ``` // 窗口状态改变事件处理函数 void MainWindow::changeEvent(QEvent *event) { if (event->type() == QEvent::WindowStateChange) { if (windowState() & Qt::WindowMinimized) { // 窗口最小化时设置任务栏图标 setWindowIcon(m_icon); } else { // 恢复窗口时恢复窗口图标 setWindowIcon(QIcon()); } } QMainWindow::changeEvent(event); } ``` 这里通过判断窗口状态是否为最小化来设置任务栏图标和恢复窗口图标。当窗口最小化时,将程序图标设置任务栏图标;当窗口恢复时,将窗口图标恢复为默认图标。 这样,就可以实现程序任务栏中的图标设置了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值