鱼C论坛

 找回密码
 立即注册
查看: 5272|回复: 39

弹出顶级窗口问题。

[复制链接]
发表于 2016-10-22 22:01:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x


有这么一个需求。

每多少秒弹出一个框,什么框都行。(最好是非文件框。)

这个框的作用是让最小化的程序,或者覆盖在其他东西后面的程序跳到最前面。


上效果。
gif.gif
@不二如是 @~风介~

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-22 22:52:20 | 显示全部楼层
我拿手机看,直觉告诉我,搞成模态对话框不就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-22 22:59:05 | 显示全部楼层
本帖最后由 不二如是 于 2016-10-22 23:00 编辑

1-每隔几秒弹出一个对话框,很简单加一个定时器,几s一个信息框

2-弹出的框因为在最顶层,所以通过点击这个框,让他下面的框弹出,这个框再消失也不难
直接进到这个框的槽函数内,你要输出的widget-》show(),然后close()

明天我写个实现你看是这意思不

3-模态对话框的话,根本不用弹框,你需要的那个框永远在最顶层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-22 23:06:54 | 显示全部楼层
UINT肯定知道!@无符号整形
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-23 08:58:58 | 显示全部楼层
给一个例子吧,不会QT ,用SDK写的……
每5秒一个框,把窗口带出来。
QtTest1.rar (3.83 KB, 下载次数: 16)
山寨了一下,没有代码~@~风介~

评分

参与人数 2荣誉 +10 鱼币 +10 收起 理由
wei_Y + 5 + 5 不,需要源码,只限QT,3Q。
~风介~ + 5 + 5 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-23 09:57:40 | 显示全部楼层
无符号整形 发表于 2016-10-23 08:58
给一个例子吧,不会QT ,用SDK写的……
每5秒一个框,把窗口带出来。

大佬请查验!@wei_Y
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-23 10:36:00 | 显示全部楼层
本帖最后由 wei_Y 于 2016-10-23 10:38 编辑
不二如是 发表于 2016-10-22 22:59
1-每隔几秒弹出一个对话框,很简单加一个定时器,几s一个信息框

2-弹出的框因为在最顶层,所以通过点击 ...


现在就是用的定时器。图上那个效果是3秒一个框。

我最小化后它会弹出来,但是不会让你知道它弹出来了。

打包EXE,EXE。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-23 10:37:06 | 显示全部楼层

介哥!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-23 11:11:57 | 显示全部楼层
本帖最后由 不二如是 于 2016-10-23 11:13 编辑
wei_Y 发表于 2016-10-23 10:36
现在就是用的定时器。图上那个效果是3秒一个框。

我最小化后它会弹出来,但是不会让你知道它弹出来 ...


1.gif


定时器你都会了我就没敲

默认弹出一个messagebox,点击ok,后面的窗口都会弹出来,并且此框消失

最后的widget就是最小化或者被隐藏的窗口

你看是这意思不?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-23 11:15:32 | 显示全部楼层
不二如是 发表于 2016-10-23 11:11
定时器你都会了我就没敲

默认弹出一个messagebox,点击ok,后面的窗口都会弹出来,并且此框消失 ...

就是这意思。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-23 11:19:23 | 显示全部楼层
  1.     msg.setText("弹出后面的~");
  2.     msg.exec();
  3.     int ret = QMessageBox::warning(this, tr("警告框"),
  4.                                    tr("The document has been modified.\n"
  5.                                       "Do you want to save your changes?"),
  6.                                    QMessageBox::Save | QMessageBox::Discard
  7.                                    | QMessageBox::Cancel,
  8.                                    QMessageBox::Save);

  9.     int ret2 = QMessageBox::information(this,tr("信息框"),tr("只是用来提示信息"),QMessageBox::Help);

  10.     int ret3 = QMessageBox::question(this,tr("询问框"),tr("我就是确认下的"),QMessageBox::Ok);


  11.     int ret4 = QMessageBox::critical(this,tr("警告框"),tr("不要这么搞了!"),QMessageBox::Close);
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-23 11:19:53 | 显示全部楼层

直接加在构造函数,这是最简单的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-23 11:29:03 | 显示全部楼层

好像不行,
  1.         # a = QMessageBox.warning(self, '11', '22', QMessageBox.Save | QMessageBox.Discard| QMessageBox.Cancel,
  2.         #                            QMessageBox.Save)
  3.         # a = QMessageBox.information(self, '11', '22', QMessageBox.Help)
  4.         # a = QMessageBox.question(self, '11', '22', QMessageBox.Ok)
  5.         a = QMessageBox.critical(self, '11', '22', QMessageBox.Ok)
复制代码

这是代码,
self 就是this
QMessage.Help就是QMessage::Help。

效果是无符号整形那个样子。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-23 11:31:50 | 显示全部楼层
wei_Y 发表于 2016-10-23 11:29
好像不行,

这是代码,

然后嘞?得到你想要的效果没?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-23 11:34:20 | 显示全部楼层
不二如是 发表于 2016-10-23 11:31
然后嘞?得到你想要的效果没?


没有,最小化后还是不能让我知道它弹出来了。
它就是弹窗了,但是他没弹到顶级窗口,缩小后不知道它弹没弹。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-23 12:16:26 | 显示全部楼层
wei_Y 发表于 2016-10-23 11:34
没有,最小化后还是不能让我知道它弹出来了。
它就是弹窗了,但是他没弹到顶级窗口,缩小后不知道它弹 ...


你直接把你要的dialog->setModal(true);

然后连弹出都不需要,永远置顶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-23 12:22:43 | 显示全部楼层
不二如是 发表于 2016-10-23 12:16
你直接把你要的dialog->setModal(true);

然后连弹出都不需要,永远置顶

可是我需要他最小化。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-23 12:25:05 | 显示全部楼层

无符号那个我看了
只是再点击最小化时,弹出一个对话框,阻碍最小化。好像跟你需要的不一样。。。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-23 12:27:33 | 显示全部楼层
wei_Y 发表于 2016-10-23 12:22
可是我需要他最小化。。

如果你调用dialog的话,再自己加一个最小化功能dialog.showMinimized()

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-23 12:27:50 | 显示全部楼层
不二如是 发表于 2016-10-23 12:25
无符号那个我看了
只是再点击最小化时,弹出一个对话框,阻碍最小化。好像跟你需要的不一样。。。

不是,他那个就是最小化好后弹个框能有提示。

就是让他只闪光也行啊。
360截图20161023124803958.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 22:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表