我在python中运行一个小程序,启动一个小窗口,需要保持在所有其他窗口之上.我相信这是特定于操作系统的,如何在使用GNOME的GNU-Linux中完成?
[ 更新 - Windows解决方案 ]
可爱,我觉得我搞定了.我在Vista 64位的Eclipse中使用Python 2.5.4和Pygame 1.9.1.因此,这适用于Windows系统.该SetWindowPos功能记录在这里.我将在我的解释中提到这一点.
进口:
from ctypes import windll
Run Code Online (Sandbox Code Playgroud)
然后我在user32中设置一个调用"SetWindowPos"的变量:
SetWindowPos = windll.user32.SetWindowPos
Run Code Online (Sandbox Code Playgroud)
现在,让我们说我刚做了一个窗口:
screen = pygame.display.set_mode((100,100), pygame.NOFRAME)
Run Code Online (Sandbox Code Playgroud)
下一行是关键.这将窗口设置在其他窗口的顶部.
SetWindowPos(pygame.display.get_wm_info()['window'], -1, x, y, 0, 0, 0x0001)
Run Code Online (Sandbox Code Playgroud)
基本上,您为hWnd(窗口句柄)提供从调用返回的窗口ID display.get_wm_info().现在该函数可以编辑刚刚初始化的窗口.
这-1是我们的hWndInsertAfter.
MSDN网站说:
通过将hWndInsertAfter参数设置为HWND_TOPMOST并确保未设置SWP_NOZORDER标志,或者通过设置Z顺序中的窗口位置使其位于任何现有的最顶层窗口之上,可以将窗口设置为最顶层窗口.当一个非最顶层的窗口最顶层时,它拥有的窗口也是最顶层的.然而,它的主人并没有改变.
因此,-1确保窗口位于任何其他现有的最顶层窗口之上,但这可能在所有情况下都不起作用.也许-2比一个-1?它目前适合我.:)
在x与y该窗口中指定的新坐标被设置.我希望窗口在SetWindowPos调用函数时保持当前位置.唉,我找不到一种方法可以轻松地将当前窗口(x,y)位置传递到函数中.我能够找到一个解决方案,但我想我不应该在这个问题中引入一个新主题.
所述0, 0,应该指定窗口的新的宽度和高度,以像素为单位.好吧,该功能已经在您的pygame.display.set_mode()函数中,所以我将它们保留为0. 0x0001忽略这些参数.
0x0001对应SWP_NOSIZE,是我唯一的uFlag.所提供的文档页面上列出了所有可用的uFlag.他们的一些十六进制表示如下:
我是一名网络开发人员,我想将我的网络产品移至iPhone.其中一个产品就像Google地图:在手机屏幕上显示地图,您可以拖动或调整地图大小并查看我们添加到地图中的一些信息.
我知道有一些技术可以让您使用HTML,CSS和Javascript来开发本机iPhone应用程序.我发现了一些:
还有其他同类产品吗?它们之间有什么区别?我该选哪个?
如何从java应用程序动态构建oracle pl/sql查询?将向用户显示一组列,这些列存在于数据库中的不同表中.用户可以选择任何列集,应用程序应仅使用包含所选列的表来构建完整的选择查询.例如,让我们考虑数据库中有3个表.用户选择col11,col22.在这种情况下,应用程序应仅使用Tabl1和Tabl2构建查询.我该如何实现这一目标?
Tabl1
- col11
- col12
- col13
Tabl2
- fkTbl1
- col21
- col22
- col23
Tabl3
- col31
- col32
- col33
- fkTbl1
Run Code Online (Sandbox Code Playgroud) Delphi控制台应用程序可以从现有控制台窗口的命令行运行,可以通过双击其图标来运行它.在后一种情况下,它将创建自己的控制台窗口,并在应用程序终止后关闭它.
如何判断我的控制台应用程序是否已创建自己的窗口?
我想检测到这一点,以便我可以显示"按Enter键关闭窗口"这样的消息,让用户阅读窗口关闭前显示的内容.显然,如果从命令行运行应用程序,那么这样做是不合适的.
我正在使用Delphi 2010,以防万一.
我正在尝试用Ruby编写最安全的单例.我对这种语言很陌生,这种语言很有弹性,我没有强烈的感觉,我的单例类只能创建一个实例.作为奖励,我希望该对象只有在真正使用时才会被实例化.
首先,我不太了解网络编程......
所以,鉴于此,我有一个需要监听3个端口的程序(进程)......两个是TCP,另一个是UDP.
这两个TCP端口将每隔一段时间接收大量数据(可能只有每5分钟或每20秒一次).第三个(UDP)端口正在接收常量数据.现在,将这些监听到不同的线程是否有意义?
例如,当我从其中一个TCP端口收到大量数据时,我不希望我的UDP流中断...这些是网络编程的常见问题吗?
谢谢你们......如果我不清楚,请随时提出澄清问题.
如果有任何影响,我将在Windows上使用Boost库.
编辑:再次阅读之后,我意识到我不是在问一个特定的问题大声笑......我想我只是在寻找关于这个问题以及如何管理多个连接的一些想法/想法/指导.谢谢
我有一个带有s和t顶点的图形,我需要找到它们之间的最短路径.该图有许多我想要利用的特殊属性:
我被告知,一旦我有一个拓扑排序的顶点,我可以找到比我目前Dijkstra的统一成本标准更快的最短路径,但我似乎无法找到它的算法.
伪代码将非常感激.
编辑:从s到t的所有路径都具有相同的边数.边缘有重量.我正在寻找成本最低的路径.
我注意到了
(SELECT title, relavency, 'search1' as source FROM search1 ORDER BY relavency DESC LIMIT 10) UNION (SELECT title, relavency, 'search2' as source FROM search2 ORDER BY relavency DESC LIMIT 10) ORDER BY relavency DESC LIMIT 10
最后一个LIMIT 10不起作用.为什么?
错误是
"错误代码1064:......在'LIMIT 1000'附近使用"
为什么mysql workbench会将LIMIT 10检测为LIMIT 1000,但如果它的1000它仍然可以工作?
我正在使用SQLAlchemy,我可以创建我在/model/__init__.py中定义的表,但是我已经在/ model目录中的其他文件中定义了我的类,表和它们的映射.
例如,我有一个配置文件类和一个配置文件表,它们在/model/profile.py中定义和映射
要创建我运行的表:
贴片setup-app development.ini
但我的问题是,我在/model/__init__.py已定义的表的正确建立,但未创建于/model/profile.py发现表定义.如何执行/model/profile.py中的表定义,以便可以创建所有表?
谢谢您的帮助!
我想使用Python中的shelve模块使用元组(1,2,3)作为键.我可以用词典做到这一点:
d = {}
d[(1,2,3)] = 4
Run Code Online (Sandbox Code Playgroud)
但如果我试着搁置:
s = shelve.open('myshelf')
s[(1,2,3)] = 4
Run Code Online (Sandbox Code Playgroud)
我得到:"TypeError:期望键,字符串或整数对象,发现元组"
有什么建议?