window.geometry函数的用法
时间: 2023-04-30 12:06:36 浏览: 94
window.geometry()函数是用于设置和获取窗口的几何尺寸和位置的。可以通过传递一个字符串参数来设置窗口的几何属性,例如设置窗口的大小和位置等。而如果不传任何参数,则该函数会返回当前窗口的几何属性。
相关问题
import tkinter as tk import time window=tk.Tk() window.title("抽") window.geometry("1920x1080") var1=tk.Label(window,text="hellow").pack() string="你点开了" #var2=tk.Label(window,text=string) def var1(): for i in range(1,10): time.sleep(1) var2=tk.Label(window,text=string).pack() var3=tk.Button(window,text="按钮",command=var1).pack() window.after(100, func) window.mainloop()
这个代码存在一些问题,我来帮你解决一下:
1. 在代码的开头,你需要在 `import tkinter as tk` 后面加一个换行符。
2. 在创建窗口对象时,你需要先使用 `window = tk.Tk()` 来创建窗口对象,然后再设置窗口标题、窗口尺寸等属性。
3. 在创建 `var1` 标签时,你需要将 `var1=tk.Label(window,text="hellow").pack()` 拆分成两行代码,先创建 `var1` 标签对象,然后再使用 `pack` 方法将它放置到窗口中。
4. 在 `var1` 函数内部,你需要使用 `global` 关键字来声明 `var2` 变量是全局变量,才能在函数内部使用它。
5. 在 `var1` 函数内部,你需要使用 `var2.config(text=string)` 来更新标签的文本内容,而不是重新创建一个新的标签对象。
下面是修改后的代码:
```python
import tkinter as tk
import time
window = tk.Tk()
window.title("抽")
window.geometry("1920x1080")
var1 = tk.Label(window, text="hellow")
var1.pack()
string = "你点开了"
def var1():
global var2
for i in range(1, 10):
time.sleep(1)
var2.config(text=string)
window.update()
var3 = tk.Button(window, text="按钮", command=var1)
var3.pack()
var2 = tk.Label(window, text="")
var2.pack()
window.mainloop()
```
注意,在 `var1` 函数内部,我使用了 `window.update()` 方法来更新窗口的内容,这样标签的文本内容才会立即显示出来。
import MySQLdb import tkinter as tk import subprocess # 创建主窗口 window = tk.Tk() window.title("连接数据库") # 设计窗口大小 width = 400 height = 280 window.geometry(f"{width}x{height}") # 设置窗口位置,使其居中显示 x = int((window.winfo_screenwidth() - width) / 2) y = int((window.winfo_screenheight() - height) / 2) window.geometry(f"+{x}+{y}") # 创建标签和输入框 host_label = tk.Label(window, text="主机名:") host_label.pack() host_entry = tk.Entry(window) host_entry.pack() username_label = tk.Label(window, text="用户名:") username_label.pack() username_entry = tk.Entry(window) username_entry.pack() password_label = tk.Label(window, text="密码:") password_label.pack() # 创建输入框,并将 show 参数设置为 "*" password_entry = tk.Entry(window, show="*") password_entry.pack() database_label = tk.Label(window, text="数据库:") database_label.pack() database_entry = tk.Entry(window) database_entry.pack() # 创建按钮和回调函数 def connect(): host = host_entry.get() username = username_entry.get() password = password_entry.get() database = database_entry.get() # 尝试连接 try: cnx = MySQLdb.connect(host=host, user=username, password=password, database=database) print("连接成功!") window.destroy() subprocess.run(["python", "ces2.py"]) except MySQLdb.Error as err: print(f"连接失败: {err}") window.destroy() subprocess.run(["python", "mysql_err.py"]) connect_button = tk.Button(window, text="连接", height=3, width=10, command=connect) connect_button.pack() # 运行主循环 window.mainloop() 插入路径为D:\python--\python word\py_mysql\背景图.png的背景图
要在窗口中添加背景图,可以使用 tkinter 的 Canvas 组件和 PIL 库。以下是添加背景图的示例代码:
```
import tkinter as tk
from PIL import ImageTk, Image
# 创建主窗口
window = tk.Tk()
window.title("连接数据库")
# 加载背景图
bg_image = Image.open("D:/python--/python word/py_mysql/背景图.png")
bg_photo = ImageTk.PhotoImage(bg_image)
# 创建 Canvas 组件并添加背景图
canvas = tk.Canvas(window, width=bg_image.width, height=bg_image.height)
canvas.pack(fill="both", expand=True)
canvas.create_image(0, 0, image=bg_photo, anchor="nw")
# 添加其他组件和回调函数
...
# 运行主循环
window.mainloop()
```
在以上代码中,我们首先使用 PIL 库加载背景图并创建了一个 PhotoImage 对象。然后,我们创建了一个 Canvas 组件并将其占满整个窗口,使用 `create_image` 方法将背景图添加到 Canvas 中。最后,我们可以在 Canvas 中添加其他组件和回调函数,与之前的示例代码相同。
相关推荐
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)