Qt子对话框如何显示在任务栏上

加盾男爵 2018-08-14 11:00:36
现在有个程序,包含两个对话框,登录对话框LoadDialog是父窗体,程序对话平AmpDialog是子窗体,为了美观这两个窗体均取消了系统的标题栏而使用了一个自定义的标题栏
    setWindowFlags(Qt::Dialog|Qt::FramelessWindowHint);
setWindowState(Qt::WindowMaximized);

启动程序是先看到的是LoadDialog,这个对话框里设置了
setWindowIcon(QIcon(tr(":/images/exePix.png")));

然后程序运行时候再win7的任务栏上有这个程序的图标

然后用户登录后,这个LoadDialog使用hide()隐藏,AmpDialog使用show()显示,代码类似这样

if(amp_Dialog == NULL)
amp_Dialog = new AmpDialog(this); //this就是load_Dialog;
this->hide();
amp_Dialog->show();

然后问题来了,父对话框隐藏后,子对话框显示,然后任务栏上的图标就消失了,并且子对话框需要有最小化的功能,因为使用了自定义的标题栏,所以最小化的功能使用
    if(amp_Dialog->windowState() != Qt::WindowMinimized)
amp_Dialog->setWindowState(Qt::WindowMinimized);

来实现,但使用这个功能后,窗体并没有最小化到系统的任务栏,而是跑到桌面的左下角去了

我想问下,怎么样让子对话框最小化到任务栏
...全文
1155 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
只此冒泡君 2018-08-14
  • 打赏
  • 举报
回复
子父窗口互换关系 登录对话框你弄成个父窗口

16,817

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧