简体   繁体   English

Tkinter 框架扩展只显示我的窗口的一半

[英]Tkinter frame expand is only displaying half my window

I'm trying to create a phone in tkinter and i'm using frames but the image is being cut in half.我正在尝试在 tkinter 中创建手机并且我正在使用框架,但图像被切成两半。 Does anyone know why?有谁知道为什么? https://i.stack.imgur.com/mOtEn.png https://i.stack.imgur.com/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()

I believe you have added the picture into a frame which only takes up up to half of the screen.我相信您已将图片添加到仅占屏幕一半的框架中。 You could either:你可以:

  • change the dimensions of the frame改变框架的尺寸

  • add the picture to root like this:像这样将图片添加到根目录:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM