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的背景图
时间: 2024-02-22 21:59:47 浏览: 25
要在窗口中添加背景图,可以使用 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 中添加其他组件和回调函数,与之前的示例代码相同。
相关问题
import MySQLdb# 连接数据库conn = MySQLdb.connect( host='localhost', user='root', passwd='password', db='database_name')# 创建cursor对象cursor = conn.cursor()# 执行SQL语句cursor.execute("SELECT * FROM table_name")# 获取结果result = cursor.fetchall()# 输出结果for row in result: print(row)# 关闭连接conn.close()如果这样做我想让它一直监听怎么偶
如果你想让这段代码一直监听数据库并获取查询结果,可以使用一个循环来实现。以下是示例代码:
```python
import MySQLdb
# 连接数据库
conn = MySQLdb.connect(
host='localhost',
user='root',
passwd='password',
db='database_name'
)
while True:
# 创建cursor对象
cursor = conn.cursor()
# 执行SQL语句
cursor.execute("SELECT * FROM table_name")
# 获取结果
result = cursor.fetchall()
# 输出结果
for row in result:
print(row)
# 关闭cursor对象
cursor.close()
# 等待一段时间后再次执行
time.sleep(1)
# 关闭连接
conn.close()
```
以上代码会不断执行SQL查询,并输出查询结果,直到程序被手动停止。你可以根据需要修改查询的SQL语句,并调整循环中的等待时间。
import pymysql pymysql.install_as_mysqldb()
pymysql是一个Python连接MySQL数据库的库。在使用pymysql之前,需要先安装pymysql库。安装完成后,可以使用import语句将pymysql库导入到Python程序中。
pymysql.install_as_mysqldb()是一个函数调用,它的作用是将pymysql库安装为MySQLdb库的别名。这样做的目的是为了兼容一些旧的代码,因为在过去,Python中使用的是MySQLdb库来连接MySQL数据库。而现在,pymysql已经成为了更常用的选择。
当我们在导入pymysql库时,可以选择是否调用pymysql.install_as_mysqldb()函数。如果我们需要兼容旧的代码,可以调用该函数将pymysql安装为MySQLdb的别名。这样,在旧的代码中使用MySQLdb时,实际上是使用了pymysql来连接MySQL数据库。