• 5884阅读
  • 6回复

[提问]窗口最小化按钮和showMinimize()有什么不同? [复制链接]

上一主题 下一主题
离线qscbmn
 

只看楼主 倒序阅读 楼主  发表于: 2016-07-17
窗口程序做了个托盘图标,托盘图标右键菜单里添加了最小化操作,
minAction = new QAction("最小化",this);
connect(minAction,&QAction::triggered,this,&MainWindow::showMinimized);


为了让窗口最小化后隐藏,加了下面一段代码:
void QWidget::changeEvent(QEvent *e){    if((e->type()==QEvent::WindowStateChange)&&this->isMinimized())    {        this->hide();    }}
运行程序后发现点击窗口最小化按钮,窗口可以隐藏。但是如果使用托盘图标右键最小化,窗口在任务栏仍然显示,请问是为什么?
离线nigoole

只看该作者 1楼 发表于: 2016-07-18
最小化和隐藏不一样
正如你所测试的情况!
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线nigoole

只看该作者 2楼 发表于: 2016-07-18
否则干嘛要做成2个函数!
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线6gongzi

只看该作者 3楼 发表于: 2016-07-18
把窗口的 Qt::WindowFlags 改成Qt::Tool,任务栏就不显示了
void    setWindowFlags(Qt::WindowFlags type)
1条评分金钱+5
qscbmn 金钱 +5 - 2016-07-18
离线qscbmn

只看该作者 4楼 发表于: 2016-07-18
回 nigoole 的帖子
nigoole:否则干嘛要做成2个函数! (2016-07-18 08:24) 

请仔细看问题,我问的是showMinimized()函数和窗口最小化按钮操作之间的区别,不是showMinimized()和hide()函数之间的区别
离线qscbmn

只看该作者 5楼 发表于: 2016-07-18
回 6gongzi 的帖子
6gongzi:把窗口的 Qt::WindowFlags 改成Qt::Tool,任务栏就不显示了
void    setWindowFlags(Qt::WindowFlags type) (2016-07-18 09:34) 

这样实现确实更方便,不过窗口上的最大化和最小化按钮没了,能加上么?
离线qscbmn

只看该作者 6楼 发表于: 2016-07-18
找到问题了,窗口类用的QMainwindow,隐藏函数用的QWidget::hide()。
快速回复
限100 字节
 
上一个 下一个