[英]cant change title of program in tkinter
這是我的主要模塊(這是用於銷售點系統)
from tkinter import *
from SettingsMenuPOS import *
from Globalvariables import *
root = Tk() #mainprogram
root.iconbitmap('D:/Gatlabs logo.ico')
opensettingsmenu = Button(root, text= "Open Settings", command = settingsmain)
root.title(Mname)
opensettingsmenu.grid(row= 0, column= 0)
enter_button = Button( root , text = "ENTER", padx = 20, pady = 10, command= EnterEvent)
enter_button.grid(row= 0, column= 1)
root.mainloop()
我正在導入一個更改程序標題的設置模塊
from Globalvariables import *
from tkinter import *
#Mart Name
#user accounts
def settingsmain():
settingmenu = Toplevel()
settingmenu.iconbitmap('D:/Gatlabs logo.ico')
global entryformartname
labelformartname = Label(settingmenu, text = "Enter name of your store")
entryformartname = Entry(settingmenu)
entryformartname.grid(row = 0, column = 0)
setmartname = Button(settingmenu, text = "setname", command = setname)
setmartname.grid(row= 0, column = 1)
settingmenu.mainloop()
def setname():
global Mname, entryformartname
Mname = entryformartname.get()
我使用全局變量 Mname 來顯示程序的標題。 我設置了變量 Mname = "Gatlabs" 並且用戶可以通過輸入來更改它。 但是每次我嘗試設置標題時它都不會改變:(我希望在編碼方面做得更好,但我很爛。請幫助我卡住
我認為這里的問題是您正在考慮使用-:
root.title(var)
將使得任何時候您更改 var 標題都會更改,但實際上標題僅更改一次,並且更改為 var 在提供時的值。
因此,如果您希望每次更改 var 時都更改它,那么請將其放在與更改 var 相同的 function 中。
def update_title(title) :
global var
var = title
root.title(title)
return
現在每次更改標題時,都會以所需的標題作為參數運行它。
我希望這能解決你的問題。 我也希望你在持續的大流行期間是安全的。
像這樣更改setname
function:
def setname():
global Mname, entryformartname, setmartname
Mname = entryformartname.get()
parent_name = setmartname.winfo_parent()
parent = setmartname._nametowidget(parent_name)
parent.title(Mname)
在您的代碼中,您只需更新Mname
變量,並且 window 標題保持不變。
您可以從 window 本身的按鈕小部件中獲取主控件。 然后,更改其標題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.