1. 程式人生 > >Python 將GUI視窗顯示在螢幕中間,需要用到win32api

Python 將GUI視窗顯示在螢幕中間,需要用到win32api

使用tkinter畫GUI時需要讓視窗自動居中,以下便是實現方法:

# 通過win32api獲取系統螢幕的解析度
def get_system_metrics():
    from win32api import GetSystemMetrics
    return GetSystemMetrics(0),GetSystemMetrics(1)

# 傳入視窗大小(解析度)計算出視窗居中的位置
def get_window_positons(width,height):
    system_metrics =get_system_metrics()
    window_x_position = (system_metrics[0
] - width)//2 window_y_position = (system_metrics[1] - height) // 2 return window_x_position,window_y_position # 測試視窗 def test_window(): import tkinter as tk root = tk.Tk() root_width = 300 root_height = 150 pos = get_window_positons(root_width, root_height) root.geometry(f'{root_width}x{root_height}+{pos[0]}+{pos[1]}'
) tk.mainloop() if __name__ == '__main__': test_window()

相關推薦

Python GUI視窗顯示螢幕中間需要win32api

使用tkinter畫GUI時需要讓視窗自動居中,以下便是實現方法: # 通過win32api獲取系統螢幕的解析度 def get_system_metrics(): from win32a

div彈出視窗視窗固定螢幕中間

<style type="text/css"> #login { display: none; border:10px sol

PyQt5:視窗放在螢幕中間(6)

學習《PyQt4入門指南 PDF中文版.pdf 》筆記 以下的指令碼顯示了將視窗放在螢幕的中間位置方法。 #!/usr/bin/python # center.py from PyQt5 import QtWidgets from PyQt5.QtWidgets impor

pythonGUI專案打包成exe檔案

此專案分為兩步: GUI編寫程式 pyinstaller打包軟體 所用到的第三方庫: tkinter pyinstaller 具體實現 1. GUI介面 本次主要講解如何打包,所以在此只是設計一個十分簡單GUI介面本次主要講解如

centos7+php+mysql+python爬蟲結果顯示到網頁上

php執行控制檯指令 $output = shell_exec(''); 新增apache許可權 ~ visudc root ALL=(ALL) ALL apache ALL=

電腦開機後滑鼠移動到最下邊工作列顯示滑鼠繁忙需要很久才能恢復正常 開機後下方工作列長時間未響應

解決方法: 1、 工作列卡死現象,請檢視是否為輸入法或者是開機啟動項太多導致 2、 有程式衝突項,在執行中輸入services.msc回車將SSDP Discovery項禁用試試吧! 3、 當計算機進入桌面後會用一段時間來載入計算機的各種驅動、啟動項和各類軟體的開機

Windows 程式設計: 目標視窗顯示在最頂端

1. [BUG Backgroud] 使用SetForegroundWindow(hwnd) 不能將目標視窗彈到頂端. Win7 中使用WIN鍵後出現的BUG. 最終成功測試程式碼: BOOL MyClass::PutMyWindowToTop( ) {

python圖片轉base64存入redis再讀取出來!

import redis import base64 #圖片轉文字 with open("/home/jd/Pictures/0.jpeg","rb") as f: # 開啟01.png圖片 # b64encode是編碼,b64decode是解碼

Python語言的介紹----人生苦短python

有一個 單元測試 研究 膠水 意義 http服務 作者 沒有 字節 一、Python發展背景 Python的作者,Guido von Rossum(吉多·範·羅蘇姆,中國Python程序員都叫他 龜叔),荷蘭人。1982年,龜叔從阿姆斯特丹大學獲得了數學和計算機碩士學位。然

如果要整數A轉換為B需要改變多少個bit位?

Python實現 樣例 如把31轉換為14,需要改變2個bit位。 (31)10=(11111)2 (14)10=(01110)2 思路 1、比較容易想到的是移位,然後遇到1計數器加1就好了。但是需要注意終止條件,正數迴圈移位會得到0,負數並不是這樣

【c語言】兩個字串連線起來不要strcat函式

#include <stdio.h> int main() { char s1[80],s2[40]; int i=0,j=0; printf("input string1:"); scanf("%s",s1); printf("input strin

Django 資料輸出到html後怎麼?(QuerySet 和Set的區別?)

往html輸出的資料大部分是字典。字典的值有很多都是QuerySet。 既然這樣,我們首先應該認識認識Queryset。 """ QuerySet is parametrized with mo

生命是一場長跑需要一生去奮鬥知恥而後勇!

目錄 一、網路協議        國際標準化組織(International Standard Organization,ISO)公佈了開放系統互連參考模型(OSI/RM)。OSI/RM是一種分層的體系結構,參考模型共有7層。 TCP/IP(Trans

如果執行.sh檔案報錯需要到dos2unix轉換

報錯-bash: ./app.sh: /bin/sh^M: bad interpreter: No such file or directory   步驟一 yum -y install dos2unix 步驟二 dos2unix app.sh  步驟三

開啟一個網頁需要到多少協議?

系統環境: OS:Linux ubuntu 2.6.32-46-generic #105-Ubuntu SMP Fri Mar 1 00:08:49 UTC 2013 i686 GNU/Linux 抓包軟體:Wireshark (sudo wireshark

$.ajax的修改或重寫需要jQuery.ajaxSetup()

jQuery.ajaxSetup()函式用於設定AJAX的全域性預設設定。 該函式用於更改jQuery中AJAX請求的預設設定選項。之後執行的所有AJAX請求,如果對應的選項引數沒有設定,將使用更改後

Latex並列圖形(不是subfigure)的畫法需要到figure和minipage

\begin{figure} \begin{minipage}[t]{0.5\linewidth} % 如果一行放2個圖,用0.5,如果3個圖,用0.33 \centering \includegraphics[width=1in]{graphic.

nRF51822 的GPIOTE的中斷處理函式中不能直接呼叫softdevice的功能需要app_scheduler

在做nRF51822的功能時,在GPIOTE的中斷處理中直接呼叫了。IAS的函式,直接HardFault了。 google一下。發現解決方案。 https://devzone.nordicsemi.com/question/31030/gpiote-interrupt-an

python tkinter GUI繪制以及點擊更新顯示圖片

不能 stringvar 同時 問題 rom calc http tasks command tkinter 繪制GUI簡單明了,制作一些簡單的GUI足夠,目前遇到的一個問題是不能同時排列顯示多幅圖片(目前沒找到同時顯示解決方法), 退而求其次,改成增加一個update按

如何讓視窗顯示在電腦螢幕中間

按照delphi程式預設設計出的程式預覽的時候自動顯示在桌面的左上方,或者就是設計時視窗的位置,這樣顯示很亂,視覺感覺不好,如何讓自動顯示到中間呢? 1,程式position預設屬性是poDefaultPosOnly.   2,預設效果如下:   實現居中顯示效果方法如下