web-dev-qa-db-ja.com

Tkinterでボタンを押した後にラベルテキストを更新する

ボタンをクリックした後、ラベルのテキストを変更する方法を考えていました。例えば:

from Tkinter import *
import tkMessageBox

def onclick():
    pass

root = Tk()

root.title("Pantai Hospital")

L1 = Label(root, text='Welcome to Pantai Hospital!')
L1.pack() 
L2 = Label(root, text='Login')
L2.pack() 

L3 = Label(root, text = "Username:")
L3.pack( side = LEFT, padx = 5, pady = 10)
username = StringVar()
E1 = Entry(root, textvariable = username, width = 40)
E1.pack ( side = LEFT)

L4 = Label(root, text = "Password:")
L4.pack( side = LEFT, padx = 5, pady = 10)
password = StringVar() 
E2 = Entry(root, textvariable = password, show = "*", width = 40)    
E2.pack( side = LEFT)'`

ボタンをクリックした後、これらのラベルusernamepasswordと入力フィールドを別の別のラベルに変更したいと思います。それ、どうやったら出来るの?

5
Yeo Jin

ボタンを押して何かを行う方法」に対する回答は、どのチュートリアルにも含まれているはずです。
例:effbot本: Button

_command=_を使用して、ボタンに関数名を割り当てます。

(ところで:関数名(またはcallback)は名前なし括弧と引数)

_btn = Button(root, text="OK", command=onclick)
_

-

ラベルテキストを変更する方法」に対する回答は、どのチュートリアルにも含まれているはずです。

_lbl = Label(root, text="Old text")

# change text

lbl.config(text="New text")

# or

lbl.["text"] = "New text"
_

-

EntryLabelに変更する場合は、Entrywidget.pack_forget())を削除/非表示にするか、破棄する(widget.destroy())およびLabelを作成します。

ところで:Entryを作成する代わりにLabelを無効にすることができます(ent.config(state='disabled')

4
furas

button.pack()を書き込んだ後にlbl.pack()を記述します。ボタンをクリックしたときに値の変化を表示する小さなコードスニペット。これは、ボタンをクリックした後にラベルに加えられた変更が表示されるようにするためです。

    from tkinter import *

    root = Tk(className = "button_click_label")
    root.geometry("200x200")

    message = StringVar()
    message.set('hi')

    l1 = Label(root, text="hi")


    def press():
        l1.config(text="hello")

    b1 = Button(root, text = "clickhere", command = press).pack()

    l1.pack()

    root.mainloop()

Imはエントリレベルだけですpythonプログラマー。許して、私が間違っていれば訂正してください!乾杯!

2
Kishor K

これは、ラベル付きの基本的なGUIを作成した例です。次に、ラベルのテキストを変更しました。

import tkinter as tk
from tkinter import *
app = tk.Tk()
#creating a Label
label = Label(app,  text="unchanged")
label.pack()
#updating text 
label.config(text="changed")
app.mainloop()
1
shanemarvinmay

これはうまくいくはずです:

from tkinter import *

root = Tk(className = "button_click_label")
root.geometry("200x200")

message = StringVar()
message.set('hi')

l1 = Label(root, text="hi")
l1.pack()

def press():
    l1.config(text="hello")

b1 = Button(root, text = "clickhere", command = press).pack()

root.mainloop()
0
Jelle Hendrikx