簡體   English   中英

如何使用變量更改 tkinter window 大小?

[英]How do I change the tkinter window size using variables?

我是使用 python 編碼的初學者。 我做了一個代碼來檢查一個.txt文件的文本,代碼將檢查句子“gui:window> size?(用戶指定的尺寸)”,使用if語句,代碼將GUI尺寸設置為尺寸在 .txt 文件中輸入。 此代碼位於 function 內。

這是代碼

from tkinter import *
try:
    def Lang(Syntax):
        root = Tk()
        if "gui:" in Line:
            if "window>" in Line:
                removed, data = Line.split("> ")
                removed = ""
                if "size?" in Line:
                   remove, raw_dimension = Line.split("?")
                   remove = ""
                   width, height = raw_dimension.split(",")
                   width = int(width)
                   height = int(height)
                   root.geometry(width, height)
                   root.mainloop()
except:
    pass
file = open(r"C:\Users\youss\Desktop\Zoik\\Zoik.txt", "r").readlines()

for Line in file:
    Lang(Line)

這是我得到的錯誤

Traceback (most recent call last):
  File "C:\Users\youss\AppData\Local\Temp\tempCodeRunnerFile.python", line 22, in <module>
    Lang(Line)
  File "C:\Users\youss\AppData\Local\Temp\tempCodeRunnerFile.python", line 15, in Lang
    root.geometry(width, height)
TypeError: wm_geometry() takes from 1 to 2 positional arguments but 3 were given

這是.txt文件中的句子

gui: window> size? 500 , 400

我希望能夠使用變量來設置 GUI 幾何圖形

您可以使用正則表達式輕松完成此操作

import tkinter as tk, re


root = tk.Tk()

#represents your data
data  = 'gui: window> size? 500 , 400'

#regex with the data you want in groups 
parse = re.compile(r'^gui: window> size\? (\d+) , (\d+)$')

#format groups to geometry expectations
root.geometry('{}x{}'.format(*parse.match(data).groups()))

root.mainloop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM