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的屬性(桌子的屬性)來實現。