python - Tkinter 框架展开仅显示我的一半窗口

标签 python python-3.x tkinter tkinter-canvas

我正在尝试在 tkinter 中创建一部手机,并且正在使用框架,但图像被切成两半。有谁知道为什么? /image/mOtEn.png

import tkinter as tk

def raiseframe(frame):
    frame.tkraise()

root = tk.Tk()

bgImage = tk.PhotoImage(file="Phone.gif")
WALogo = tk.PhotoImage(file="whatsappLogo.gif")
width = bgImage.width()
height = bgImage.height()

root.title("Phone")
root.geometry("%dx%d+0+0" % (width, height))

main = tk.Frame()
whatsapp = tk.Frame()

for frame in (main, whatsapp):
    frame.pack(fill = tk.BOTH, expand = True)

#Mainscreen:
canvas = tk.Canvas(main, width = width, height = height, bg = "black")
canvas.create_image((width / 2, height / 2), image = bgImage)
canvas.place(x = 0, y = 0)
WAB = tk.Button(main, image = WALogo, command = lambda: raiseframe(whatsapp))
WAB.place(x = 35, y = 85)

raiseframe(main)
root.mainloop()

最佳答案

我相信您已将图片添加到仅占屏幕一半的框架中。 您可以:

  • 更改框架的尺寸

  • 将图片添加到根目录,如下所示:

canvas = tk.Canvas(root, width = width, height = height, bg = "black")
canvas.create_image((width / 2, height / 2), image = bgImage)

关于python - Tkinter 框架展开仅显示我的一半窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60101225/

相关文章:

python - 将框架中的所有条目小部件绑定(bind)到一个键

python - 如何使用 web.py 动态填充表单中的选择框/下拉框?

python - 迭代完成后如何删除tqdm中的进度条

python - 为什么结果变量会自行更新?

在 Mac OS X 10.6 上安装适用于 Python 3 的 numpy 和 matplotlib 时出现 Curl 错误

python - Tkinter 滚动条不工作

python - 如何通过python从智能卡读取证书?

python-3.x - 使用 Cloud Datastore Api 对为 Google AppEngine 灵活环境编写的 python 3.x 代码进行单元测试

python - 可变对象上的递归函数

python - 在 Tkinter 中,我如何从小部件中删除焦点?