-瑾- 发表于 2016-11-9 18:31:34

PyQt5——窗口置顶问题(未解决)

最近在弄pyqt5,使用到了要将隐藏到托盘的窗口重新激活并显示在Windows所有窗口的最上层,当我点击托盘图标的时候,窗口会显示出来,但一旦我把pycharm最小化之后,窗口就不能显示出来了,也就是说,脱离了pycharm把程序之后就无法实现这个效果了,下面是我的代码,我已经激活窗口又show了一遍,还把它raise了,就是不行,各位高手麻烦给我解答一下呗
这是点击关闭窗口的控件时候的处理代码

这是点击托盘图标之后要运行的代码


之后再找了一下资料,然后有人说要调用win32api来处理,如果要用,怎么用呢?高手给支个招谢谢


还有个问题就是,用pyinstaller打包程序的时候,总是出现一堆warning,大概是api-ms-win-crt...,然后找不到文件之类的,虽然程序可以运行,但在一些电脑上却会运行出错,不是说QT的跨平台性很好么,为什么还会这样。。。
后来找了资料,说要安装VC_redist64 / 86,我两个都装了2005到2015的都装了,但是还是出现这种情况,我后来修复了VC_redist,但还是没用,谁能给我解答呢?换一个打包程序的话太麻烦,尤其是CX_Freeze的

wei_Y 发表于 2016-11-9 20:03:14

@无符号整形

你怎么用pyinstaller打包的。

无符号整形 发表于 2016-11-9 20:28:48

wei_Y 发表于 2016-11-9 20:03
@无符号整形

你怎么用pyinstaller打包的。

PyQt没玩过{:10_266:}

wei_Y 发表于 2016-11-9 21:47:27

无符号整形 发表于 2016-11-9 20:28
PyQt没玩过

{:10_254:}win32 设置顶层窗口。

无符号整形 发表于 2016-11-9 21:51:12

wei_Y 发表于 2016-11-9 21:47
win32 设置顶层窗口。

用SetForegroundWindow
保管有效

-瑾- 发表于 2016-11-9 22:07:29

无符号整形 发表于 2016-11-9 21:51
用SetForegroundWindow
保管有效

SetForegroundWindow是在哪里的呢?怎么调用?

-瑾- 发表于 2016-11-9 22:08:17

wei_Y 发表于 2016-11-9 21:47
win32 设置顶层窗口。

怎么设置呢?有代码吗?

-瑾- 发表于 2016-11-9 22:08:51

wei_Y 发表于 2016-11-9 20:03
@无符号整形

你怎么用pyinstaller打包的。

直接用pyinstaller打包的呀

无符号整形 发表于 2016-11-10 07:04:59

-瑾- 发表于 2016-11-9 22:07
SetForegroundWindow是在哪里的呢?怎么调用?

win32 Api

1424851327zq 发表于 2017-7-28 19:32:09

为毛不用qtquick还在用qtwidget...你还是弃坑吧去学着用qml很方便

毛毛不爱读书 发表于 2024-3-3 23:03:49

from PySide2.QtCore import Qt# 导入Qt, 如果你不是PySide2, 换一下就好
# 然后把需要指定的窗口设置为置顶, 如下:
window.setWindowFlags(Qt.WindowStaysOnTopHint)

页: [1]
查看完整版本: PyQt5——窗口置顶问题(未解决)