我是使用 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 几何形状
使用 f 字符串或字符串文字执行此操作的最佳方法。
width = 700
height = 700
newWindow.geometry(f"{width}x{height}")
我已经写了一个完整的教程,甚至使用按钮点击。您可以在这里检查:使用变量动态更改 Tkinter 窗口大小
您可以使用正则表达式轻松完成此任务
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()
如果有人仍在寻找这里,这是我使用的一个简单方法:
win = Tk()
width = 600
heigt = 600
size = str(width) + "x" + str((height)
win.geometry(size)
win.mainloop()