python 에서 tkinter 창 위치\좌표\크기 등 예제 구현

5313 단어 pythontkinter창구.
비교적 완벽 한 그래 픽 소프트웨어 를 만 들 려 고 시도 하고 있 습 니 다.tkinter 라 이브 러 리 에 있 는 canvas 컨트롤 을 사용 하여 만 들 계획 입 니 다.그리고 도형 항목 의 위치,좌표,크기 와 다른 속성 항목 의 보존 과 로드 문 제 를 연구 하고 있 습 니 다.좌표,위치 에 대한 지식 이 필요 하기 때문에 이 그래 픽 소프트웨어 의 부대 생산물 로 서 이 박문 으로 정리 하여 여러분 께 공유 하고 있 습 니 다.함께 연 구 를 하면 서 당신 의 일 에 시사 점 과 도움 을 줄 수 있 기 를 기대 합 니 다.
초심 을 잊 지 않 고 시종일관 우리 함께 격려 합 시다!
알 겠 습 니 다.본론 으로 돌아 가 이 박문 의 주제:python 에서 tkinter 창 위치|좌표\크기 등 지식의 과학 보급.
tkinter 라 이브 러 리 에는 컨트롤 과 메 인 창 이 많다 는 것 을 잘 알 고 있 기 때문에 이 컨트롤 과 메 인 창 에는 모두 해당 하 는 화면 좌표 정보 가 있 습 니 다.그래서 우 리 는 각각 소개 할 수 있다.
1.주 창 에 대한 소개:
우리 가 본 비교적 많은 명령 은 다음 과 같다.

root.geometry("300x200+100+50")
이게 무슨 뜻 이 죠?
사실:첫 번 째 는 창의 너비,두 번 째 창의 높이,세 번 째 창 왼쪽 위 점 은 왼쪽 화면 경계 거리,네 번 째 창 왼쪽 위 점 은 위 화면 경계 거리 입 니 다.그럼 전체 코드 에 다음 과 같이 넣 으 세 요.

from tkinter import *
root = Tk()
root.geometry("300x200+100+50")
root.mainloop()
다음 과 같은 효과 보이 기:

(1)창 속성 설정
위 프로그램 에 루트=Tk()와 루트.mainloop()사이 에 아래 코드 를 추가 하여 창 에 요 소 를 추가 합 니 다.
창 제목:root.title("titlea")
창 아이콘 추가:root.iconbitmap(iconfile),icon_file 은.ico 아이콘 파일 입 니 다.절대 또는 상대 경 로 를 사용 하여 창 크기 를 설정 합 니 다:root.geometry("x"WIDTHxx_HEIGHT"),그 중 장WIDTH 를 창 너비 로 바 꾸 고HEIGHT 를 창 높이 로 바 꾸 어 화면의 위 치 를 설정 합 니 다.
root.geometry("+X+Y"),X/Y 는 화면 왼쪽 상단 을 정점 으로 하 는 창의 좌 표를 표시 합 니 다.
(2)자주 사용 하 는 이벤트 처리 함수:
창 상태 새로 고침:root.update()
창 지우 기:root.destroy()
자동 트리거 이벤트:root.after(sec,command),몇 초 후 자동 으로 command 를 실행 하 는 지 표시 합 니 다.
위 창:root.wmattributes('-topmost',1)
창 외부 숨 기기:root.overrideredirect(True)
최대 창 설정:root.maxsize(600,400)
최소 창 설정:root.minsize(300,240)
창 크기 를 조정 할 수 있 는 지 설정 하기(두 가지 방법): 
root.resizable(width=False,height=False)\#창 크기 변경 금지
root.resizable(0,0)\#창 크기 변경 불가 설정
(3)창 가 져 오 는 방법
winfo_width 창 너비 획득,winfoheight 창 높이 가 져 오기.위의 두 가지 방법 은 모두 참조 방법 이 없 으 며,반환 값 을 통 해 창의 너비 와 높이 를 얻 을 수 있 습 니 다.

from tkinter import *
 
def go():
  txt = '         :(%s,%s)
:%s :%s' \ % (root.winfo_x(),root.winfo_y(),root.winfo_width(),root.winfo_height()) label1.configure(text=txt) root.after(1,go) root = Tk() root.geometry("300x200+100+50") label1 = Label(root) label1.pack(expand=YES) go() root.mainloop()
실행 효 과 는 다음 과 같 습 니 다:

(4)중요 한 지식
우리 가 상술 한 방법 을 사용 하여 얻 은 위치 와 너비,사실은 tk 초기 화 때의 값 입 니 다.따라서 초기 화 할 때 기본 값 은 1 입 니 다.정확 한 위치 와 크기 정 보 를 얻 으 려 면 이 때 우 리 는 update 방법 을 호출 하여 win 창 을 새로 고 칩 니 다.
다음 스 크 립 트 실행:

import tkinter
win = tkinter.Tk()
win.geometry("100x100")
print("              %s * %s" % (win.winfo_width(),win.winfo_height()))
win.update()
print("update            %s * %s" % (win.winfo_width(),win.winfo_height()))
win.mainloop()

(5)자주 사용 하 는 위치 처리 함수
창 최대 화 설정

#       :
#   
root = Tk()
w, h = root.maxsize()
root.geometry("{}x{}".format(w, h)) #   ,        x
#   
root = Tk()
w = root.winfo_screenwidth()
h = root.winfo_screenheight()
root.geometry("%dx%d" %(w, h))
#   
root = Tk()
root.attributes("-fullscreen", true)
가운데 표시 설정

def center_window(root, width, height):
  screenwidth = root.winfo_screenwidth()
  screenheight = root.winfo_screenheight()
  size = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
  print(size)
  root.geometry(size)
  root.update()
  print(root.winfo_x())
스 크 립 트 호출:

import tkinter as tk
root = tk.Tk()
root.title('    ')
center_window(root, 500, 340)
root.mainloop()
2.컨트롤 의 위치 에 대한 소개
사실은 주 창의 접근 방식 과 유사 하 며,주로 대응 하 는 방법 과 함 수 를 찾 아야 한다.

import tkinter as tk
 
def center_window(root, width, height):
  screenwidth = root.winfo_screenwidth()
  screenheight = root.winfo_screenheight()
  size = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
  root.geometry(size)
  root.update()
 
def go():
  txt = 'Label1         :%s' % label1.winfo_geometry()
  label2.configure(text=txt)
  root.after(1,go)
 
root = tk.Tk()
root.title('    ')
center_window(root, 500, 340)
label1 = tk.Label(root, text='     Label  ')
label1.pack(expand=tk.YES)
label2 = tk.Label(root)
label2.pack()
go()
root.mainloop()
주요 함수:label 1.winfogeometry()
실행 효 과 는 다음 과 같 습 니 다:

python 의 tkinter 창 위치\좌표\크기 등에 대한 예시 적 인 글 을 소개 합 니 다.더 많은 관련 python 의 tkinter 창 위치\좌표\크기 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기