如何用俩列,一列显示文字一列显示图片。。。。。。。。。。。。。。。。。。。。。。
可以使用Tkinter的Canvas组件来实现在一个窗口中同时显示文字和图片。
首先,从 MySQL 数据库中获取二进制图片和文本数据,并将其转换为 Tkinter 中的图片和文本格式。
以下是一个基本的示例代码:
python
import tkinter as tk
import mysql.connector
from PIL import Image, ImageTk
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
mycursor.execute("SELECT text_column, image_column FROM mytable")
myresult = mycursor.fetchall()
root = tk.Tk()
canvas = tk.Canvas(root, width=600, height=400)
canvas.pack()
row = 0
col = 0
for result in myresult:
# 获取文本和图片数据
text_data = result[0]
image_data = result[1]
# 将二进制数据转换为 Tkinter 图片格式
img = Image.open(io.BytesIO(image_data))
tk_img = ImageTk.PhotoImage(img)
# 在 Canvas 上添加图片和文本
canvas.create_image(col * 300, row * 200, anchor=tk.NW, image=tk_img)
canvas.create_text(col * 300 + 150, row * 200 + 100, text=text_data)
# 更新行和列的位置
if col == 0:
col = 1
else:
col = 0
row += 1
root.mainloop()
上述代码中,我们使用 mysql.connector 模块连接到 MySQL 数据库,并使用游标对象查询数据库中的数据。然后,我们遍历结果集,并将每行数据的文本和图片数据转换为 Tkinter 中的格式,并在 Canvas 组件上添加文本和图片。
注意,这个示例代码只能够在 Python3 环境下运行,并且需要安装 mysql-connector-python 和 Pillow 模块。