19
#import statements
from Tkinter import *
import tkMessageBox
import tkFont
from PIL import ImageTk,Image

画像をインポートするコード:

app = Tk()
app.title("Welcome")
image2 =Image.open('C:\\Users\\adminp\\Desktop\\titlepage\\front.gif')
image1 = ImageTk.PhotoImage(image2)
w = image1.width()
h = image1.height()
app.geometry('%dx%d+0+0' % (w,h))
#app.configure(background='C:\\Usfront.png')
#app.configure(background = image1)

labelText = StringVar()
labelText.set("Welcome !!!!")
#labelText.fontsize('10')

label1 = Label(app, image=image1, textvariable=labelText,
               font=("Times New Roman", 24),
               justify=CENTER, height=4, fg="blue")
label1.pack()

app.mainloop()

このコードは機能しません。背景画像をインポートしたい。

4

3 に答える 3

36

簡単な方法の1つはplace、画像を背景画像として使用することです。placeこれは本当に得意なタイプのことです。

例えば:

background_image=tk.PhotoImage(...)
background_label = tk.Label(parent, image=background_image)
background_label.place(x=0, y=0, relwidth=1, relheight=1)

その後、通常どおり、gridまたはpack親内の他のウィジェットを使用できます。スタック順序が低くなるように、最初に背景ラベルを作成してください。

注:関数内でこれを行う場合は、画像への参照を保持するようにしてください。そうしないと、関数が戻ったときに画像がガベージコレクターによって破棄されます。一般的な手法は、ラベルオブジェクトの属性として参照を追加することです。

background_label.image = background_image
于 2012-04-16T20:45:22.077 に答える
5

背景画像を設定するためのPython3用の単純なtkinterコード。

from tkinter import *
from tkinter import messagebox
top = Tk()

C = Canvas(top, bg="blue", height=250, width=300)
filename = PhotoImage(file = "C:\\Users\\location\\imageName.png")
background_label = Label(top, image=filename)
background_label.place(x=0, y=0, relwidth=1, relheight=1)

C.pack()
top.mainloop
于 2016-12-27T06:49:00.177 に答える
-1

あなたはこれを使うことができます:

root.configure(background='your colour')

例:-

import tkinter
root=tkiner.Tk()
root.configure(background='pink')
于 2020-08-18T02:58:15.740 に答える