如何在python中的帧上制作背景图像

时间:2015-04-16 14:03:14

标签: python tkinter

我有一个问题我想把图像作为这个小转换器的背景可以有人帮助我吗?我正在网上查看stackoverflow,但我找到的所有内容都不适用于该课程。

__author__ = 'apcs'
from tkinter import *


class FarenheitToCelsius(Frame):
    def __init__(self):
        Frame.__init__(self)
        self.master.title("Farenheit To Celsius Conversion")
        self.grid()



        self.farenheitLabel = Label(self, text="Farenheit")
        self.farenheitLabel.grid(row=0, column=0)
        self.farVar = DoubleVar()
        self.farEntry = Entry(self, textvariable=self.farVar)
        self.farEntry.grid(row=0, column=1)

        self.celsiusLabel = Label(self, text="Celsius")
        self.celsiusLabel.grid(row=1, column=0)
        self.celVar = DoubleVar()
        self.celEntry = Entry(self, textvariable=self.celVar)
        self.celEntry.grid(row=1, column=1)

        self.button = Button(self,
                             text="Convert to Celsius",
                             command=self.convertToFarenheit)
        self.button2 = Button(self,
                              text="Convert to Farenheit",
                              command=self.convertToCelsius)
        self.button.grid(row=2, column=1, columnspan=1)
        self.button2.grid(row=2, column=0, columnspan=1)


    def convertToFarenheit(self):
        fare = self.farVar.get()
        cels = (fare - 32) * 5 / 9
        self.celVar.set(cels)

    def convertToCelsius(self):
        cel = self.celVar.get()
        far = cel * 9 / 5 + 32
        self.farVar.set(far)


def main():
    FarenheitToCelsius().mainloop()


main()

1 个答案:

答案 0 :(得分:0)

我至少可以想到三种方法:

  1. 在标签中创建图像,并使用place将其放入框架中。然后创建所有其他小部件,并像往常一样使用packgrid。确保首先创建框架,然后创建带有图像的标签,然后创建框架的子项,以便堆叠顺序正确。

  2. 使用画布而不是框架,并使用create_image方法添加图像。然后你可以正常打包/放置/网格儿童。

  3. 使用标签作为容器,然后将/ place / grid / grid小部件打包到标签中(是的,您可以将子项添加到标签小部件)而不是框架。