1. python 如何獲得一個Windows程序窗口,並在窗口裡的當前
你好,
1、讀取windows窗口,應該要用系統編程的知識實現介面,然後python調用
python 沒有直接能實現該功能的模塊
2、或者,你需要調用win32 api了已經不是python的標准范圍
你可以看看 Pywin32 這個擴展庫
2. Python GUI項目實戰(二)主窗體的界面設計與實現
上一節我們介紹了登錄窗體的GUI設計與功能實現,用戶的賬號和密碼校驗完成後應當跳轉到主窗體內容,這一節我們將具體介紹主窗體界面的設計與功能實現!
我們新建一個900x640的窗口,頂部加入圖片,下面主體部分創建兩個Panedwindow容器,左邊添加按鈕,右邊作為TreeView顯示界面;
顯示效果:(注意:tkinter在Mac上Panedwindow不支持修改前景色背景色)
在右邊的Pannedwindow容器中,添加一個LabelFrame容器作為查詢區域,在LabelFrame容器中添加一系列的Label、Entry、Button控制項,可以輸入學號、姓名、電話、身份證、查詢、和顯示全部信息:
顯示效果:
創建控制項、設置對齊方式和每個列的標題
顯示效果:
登錄成功後,在頂部顯示用戶姓名和登錄時間,用戶姓名是怎麼來的?是我們在登錄窗口輸入的,所以這就涉及到了跨窗體數據的傳遞。這一點非常重要!
登錄窗體(登錄信息)==>主窗體
傳遞的基本方式:構造函數
在主窗體的構造函數中添加一個接收參數 current_user ,在登錄窗體載入新窗體時將參數傳遞進去;
但是我們登錄窗體的登錄函數 login() 中用戶名的變數 user 是局部變數,函數調用完了之後就變數就沒有了,那怎麼調用呢?
我們需要在登錄窗體的構造函數中定義全局變數:
為了獲取用戶登錄的時間,我們定義一個獲取當前時間的方法:
然後在載入主窗體時將參數 self.user 和 self.get_now_time() 作為參數傳遞進去
另一邊,我們在主窗體中,在構造函數中添加全局變數
之後,我們在Top_banner中通過標簽將user信息展示出來:
這樣主窗口就會顯示通過登錄窗口登錄的用戶名(首字母自動轉大寫)和登錄時間:
效果演示:
然後我們在構造方法中把這個函數寫入,以實現自動把學生信息寫入到all_student_list中
文件中讀取到的學生信息存儲到all_student_list列表,以此作為參數傳入載入TreeView的方法中;
在構造方法中調用該方法,自動把所有學生信息載入到TreeView中
運行效果:
這一節我們實現了主窗體的搭建,從界面的布局到TreeView載入全部學生信息。學生數據如此之多,如果我們想精確查看具體某個學生的信息該怎麼做呢?下一講,我們將實現學生信息的查詢功能,敬請期待吧~
3. 在Python中什麼情況會用到Windows窗口界面自動化操作
在Python中,通常使用Windows窗口界面自動化操作來實現對桌面應用程序或操作系統進行自動化測試或操作。例如,可以使用Python的 pyautogui 庫來模擬滑鼠和鍵盤操作,或使用 pywinauto 庫來控制Windows窗口界面中的窗口、按鈕和文本框。
另外,在Python中也可以使用Windows窗口界面自動化操作來實現更復雜的任務,例如自動處理重復性勞動,或實現簡單的機器人來執行簡單的操作。總之,Windows窗口界面自動化操作在Python中有很多用途,可以幫助開發人員提高工作效率和提高應用程序的測試覆蓋率。