1. 请教python大神 如何写个窗口停靠在桌面边缘自动隐藏的功能,类似QQ
pyqt好像有类似的demo
2. 如何用python激活指定窗口的输入框,方便下一步模拟输出
首先,要明确你的需求,“模拟键盘输入”这个需求有些笼统了,因为Win32上模拟输入的方法实在太多,各有不同的效果。
其次,把焦点移动到文本框并不是必需的。如果你只是想往文本框里输入字符串,你甚至都不需要知道怎么模拟键盘动作,因为Win32提供了更高层次的抽象WM_CHAR。另外一些情况下,你可能希望手动模拟键盘的击键动作WM_KEYDOWN和WM_KEYUP,例如你想展现用输入法打字的效果,或者你想调用某个组合键。
关于窗口句柄的获取,Win32里面把控件之类的也称作Window,但是FindWindow()只能查找顶层窗口(也就是狭义的“窗口”),如果需要查找子窗口(也就是通常所说的“控件”),需要用FindWindowEx()。
还是以记事本为例:
from ctypes import windll as win32
WM_CHAR = 0x0102
try:
hWnd = win32.user32.FindWindowW('Notepad', None)
assert hWnd
hEdit = win32.user32.FindWindowExW(hWnd, None, 'Edit', None)
assert hEdit
except AssertionError:
print('Notepad not found')
else:
for char in 'Hello, 世界':
win32.user32.SendMessageW(hEdit, WM_CHAR, ord(char), None)
示例程序运行的效果是:记事本自始至终都没有获得焦点,但是光标处插入了字符串。
在这个应用场景下,模拟键盘敲击并不是一个好的选择——输入的结果完全取决于你的键盘布局/输入法。虽然我国通行US QWERTY键盘,键码和英文字符基本对应,但直接把字符通过窗口消息传递过去,能轻松的保证输入的结果和要求完全一致,何乐而不为呢。
有关Win32的学习,我没有系统的学习过,个人的习惯是看别人做的示例代码,不懂的查MSDN…
国内有很多讲MFC开发的书,一般会讲解有关Win32的基础知识。然而书名里通常不会提到MFC和Win32,而是冠以Visual C++的名号,也是醉了…
无论是什么资料,通常都是面向C/C++环境的,Win32是面向C/C++的,Python只是封装了一下。建议在C/C++平台上学习,会方便许多。
VB/.NET/Delphi的相关资料也比Python多很多,作为一个源于社区的跨平台环境,Win32开发并不是Python的主要战场。
3. PYthon,窗口控制的问题
tk里面最好不要用while,可以建立个flag.两个函数一个函数指定为true.一个指定为false.通过这个来控制运行还是停止
4. python tk怎样调整一个button控件和Entry控件在界面的位置
1、新建一个Windows窗体项目,项目名为“透明控件”。
5. python tkinter窗口怎样实现焦点控制
控件的话使用focus_set()函数来指定焦点,如果窗口那就很麻烦了,因为现在WINDOWS要让一个进程窗口获取焦点,需要使用SetForegroundWindow
AttachThreadInput等API。
6. Python怎么控制窗口
控制窗口是一个很复杂的过程,必须要请专业的人员来帮助个人,没有办法解决
7. python如何设计窗口
PyQt是一个基于Qt的接口包,可以直接拖拽控件设计UI界面,下面我简单介绍一下这个包的安装和使用,感兴趣的朋友可以自己尝试一下:
1、首先,安装PyQt模块,这个直接在cmd窗口输入命令“pip install pyqt5”就行,如下,整个模块比较大,下载过程需要等待一会儿,保持联网:
2、安装完成后,我们就可以直接打开Qt自带的Qt Designer设计师设计界面了,这里默认会安装到site-packages->PyQt5->Qt->bin目录,打开后的界面如下,可以直接新建对话框等窗口,所有的控件都可以直接拖拽,编辑属性,非常方便:
相关推荐:《Python基础教程》
3、这里我简单的设计了一个登录窗口,2个输入框和2个按钮,如下,这里可以直接使用QSS对界面进行美化(设置styleSheet属性即可),类似网页的CSS,如果你有一定的前端基础,那么美化起来会非常容易:
设计完成后,还只是一个ui文件,不是现成的Python代码,还需要借助pyuic5工具(也在bin目录下)才能将ui文件转化为Python代码,切换到ui文件所在目录,输入命令“pyuic5 -o login.py login.ui”即可(这里替换成你的ui文件),转化成功后的Python代码如下(部分截图):
还需要在最下面添加一个main函数,创建上面Ui_Form类对象显示窗口即可,如下:
最后点击运行程序,效果如下,和刚才设计的界面效果一模一样:
至此,我们就完成了利用Python的PyQt模块直接拖拽控件来设计UI界面。总的来说,整个过程非常简单,只要你有一定的Python基础,熟悉一下操作过程,很快就能掌握的,当然,还有许多其他UI开发模块,像tkinter,wxPython,Eric6等,也都非常不错。
8. python tkinter如何设置组件在窗口中的位置,比如说一个按钮,我希望这个按钮在窗口的左边,上边………
这个跟编码方式有关,
加上#-*- coding: utf8 -*-
就能显示中文啦
self.Button(self.trspt_frm, \
text='发送文件', \
command=self.send_file, \
).pack(side=Tkinter.LEFT, fill=Tkinter.BOTH)
在pack里设置参数,就可以设置按钮的位置啦
9. python tkinter要实现关闭一个窗口的同时,在打开一个新窗口,应该怎么修改
1、首先确认你电脑上的python是正常的,同时tkinter模块安装正常。如下面图中所示,输入python命令可以看到正常的命令行界面,然后执行导入命令:
from tkinter import *
tkinter安装正常的话就不会报错,如下面图中所示:
10. python怎样从一个窗口切换到同界面的另一个窗口
跳转实现思路
主程序相当于桌子:
import tkinter as tk
root = tk.Tk()
而不同的Frame相当于不同的桌布:
face1 = tk.Frame(root)
face2 = tk.Frame(root)
...
每个界面采用类的方式定义各自的控件和函数,每个界面都建立在一个各自定义的Frame上,那么在实现跳转界面的效果时,
只需要调用tkinter.destroy()方法销毁旧界面,同时生成新界面的对象,即可实现切换。
而对于切换的过程中改变背景颜色和大小,可以通过修改frame控件的属性,或者修改root的属性(桌子的属性)来实现。