如何使用变量更改 tkinter 窗口大小?

问题描述 投票:0回答:3

我是使用 python 编码的初学者。我编写了一个代码来检查 .txt 文件中的文本,该代码将检查句子“gui: window> size?(用户指定的尺寸)”,使用 if 语句,代码会将 GUI 尺寸设置为尺寸已输入到 .txt 文件中。这段代码被放置在一个函数中。

这是代码

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 几何形状

python python-3.x tkinter
3个回答
1
投票

使用 f 字符串或字符串文字执行此操作的最佳方法。

width = 700
height = 700
newWindow.geometry(f"{width}x{height}")

我已经写了一个完整的教程,甚至使用按钮点击。您可以在这里检查:使用变量动态更改 Tkinter 窗口大小


0
投票

您可以使用正则表达式轻松完成此任务

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()

0
投票

如果有人仍在寻找这里,这是我使用的一个简单方法:

win = Tk()

width = 600
heigt = 600

size = str(width) + "x" + str((height)

win.geometry(size)
win.mainloop()
© www.soinside.com 2019 - 2024. All rights reserved.