鱼C论坛

 找回密码
 立即注册
查看: 1146|回复: 3

[已解决]关于Button的 compound参数问题

[复制链接]
发表于 2022-2-9 17:25:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在使用from tkinter import *,引入tkinter时,就可以正常传入Button的 compound参数。
from tkinter import *
from PIL import Image, ImageTk


def msgShow():
    label.config(text="今天是个好日子", bg="lightyellow", fg="blue")


root = Tk()
root.title("button的test2")
root.geometry("300x200")
# label=Label(root)

image = Image.open('F:\手机\探店猫咖\IMG_20220108_161912.jpg')
im = ImageTk.PhotoImage(image=image)

# compound=TOP显示图片在上面 CENTER显示图片和文字重叠
# 可以用 LEFT TOP RIGHT BOTTOM CENTER
# 可以用cursor="star"实现按钮上鼠标显示为星星
btn = Button(root, image=im, compound=CENTER, text="点我看看吧", command=msgShow, cursor="star")
# label.pack()
btn.pack()

root.mainloop()
但是在使用import tkinter as tk,引入tkinter库后,Button的 compound参数就出错了。这时为什么啊?
import tkinter as tk
from PIL import Image, ImageTk


def msgShow():
    label.config(text="今天是个好日子", bg="lightyellow", fg="blue")


root = tk.Tk()
root.title("button的test2")
root.geometry("300x200")
# label=Label(root)

image = Image.open('F:\手机\探店猫咖\IMG_20220108_161912.jpg')
im = ImageTk.PhotoImage(image=image)

# compound=TOP显示图片在上面 CENTER显示图片和文字重叠
# 可以用 LEFT TOP RIGHT BOTTOM CENTER
# 可以用cursor="star"实现按钮上鼠标显示为星星
btn = tk.Button(root, image=im, compound=CENTER, text="点我看看吧", command=msgShow, cursor="star")
# label.pack()
btn.pack()

root.mainloop()
最佳答案
2022-2-9 20:37:20

前者代码使用 from tkinter import * 导入方式导入

所以直接将一些属性导入了,例如:LEFT、TOP 、BOTTOM、CENTER

而后者代码使用 import tkinter as tk 取了别名的方式导入

所以后续调用就需要带上 tk.LEFT、tk.TOP 、tk.BOTTOM、tk.CENTER
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-9 17:26:49 | 显示全部楼层
btn = tk.Button(root, image=im, compound=CENTER, text="点我看看吧", command=msgShow, cursor="star")
应该是
btn = tk.Button(root, image=im, compound=tk.CENTER, text="点我看看吧", command=msgShow, cursor="star")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-9 20:37:20 | 显示全部楼层    本楼为最佳答案   

前者代码使用 from tkinter import * 导入方式导入

所以直接将一些属性导入了,例如:LEFT、TOP 、BOTTOM、CENTER

而后者代码使用 import tkinter as tk 取了别名的方式导入

所以后续调用就需要带上 tk.LEFT、tk.TOP 、tk.BOTTOM、tk.CENTER
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-10 15:26:41 | 显示全部楼层

非常感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 07:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表