亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 tkinter 中的 textvariable 前面插入 '$' 符號

如何在 tkinter 中的 textvariable 前面插入 '$' 符號

森欄 2023-04-25 17:52:07
我使用 tkinter 創建了一個 ATM,它在單擊余額按鈕時顯示當前余額,它添加了不同類別的存入和提取的錢,這些錢從設置為 0 的當前余額和余額中添加或減去被存儲在class SampleApp(tk.Tk):    def __init__(self, *args, **kwargs):        tk.Tk.__init__(self, *args, **kwargs)        self.shared_data={'Balance':tk.IntVar()}剩余余額會顯示在屏幕上class BalancePage(tk.Frame):        global current_balance        controller.shared_data['Balance'].set(current_balance)            balance_label=tk.Label(self,textvariable=controller.shared_data['Balance'],font=('orbitron',13),fg='white',bg='#3d3d5c',anchor='w')        balance_label.pack(fill='x')我只想在顯示的金額前顯示一個“$”符號(即為 0 并且想要 $0)請幫助#WithdrawPageclass WithdrawPage(tk.Frame):        def withdraw(amount):            global current_balance            if amount>current_balance:                messagebox.showwarning('WARNING','Not sufficient funds!')            else:                current_balance -= amount                controller.shared_data['Balance'].set(current_balance)                controller.show_frame('MenuPage')#DepositPageclass DepositPage(tk.Frame):        def deposit_cash():            global current_balance            current_balance += int(cash.get())            controller.shared_data['Balance'].set(current_balance)            controller.show_frame('MenuPage')            cash.set('')
查看完整描述

3 回答

?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

StringVar您可以為textvariableof設置另一個balance_label:


balance_label = tk.Label(..., textvariable=self.balance_var,...)

然后在跟蹤回調中設置和更新trace():controller.shared_data['Balance']self.balance_var


self.balance_var.set('$'+str(self.controller.shared_data['Balance'].get()))

由于我沒有您的代碼的全貌,下面是您的代碼的建議更改:


class BalancePage(tk.Frame):

    def __init__(self, parent, controller, *args, **kw):

        ...

        self.controller = controller


        self.balance_var = tk.StringVar()

        controller.shared_data['Balance'].trace('w', self.on_balance_changed)


        balance_label = tk.Label(self, textvariable=self.balance_var, font=('orbitron',13),

                                 fg='white', bg='#3d3d5c', anchor='w')

        balance_label.pack(fill='x')

        ...


    def on_balance_changed(self, *args):

        self.balance_var.set('$'+str(self.controller.shared_data['Balance'].get()))



查看完整回答
反對 回復 2023-04-25
?
慕勒3428872

TA貢獻1848條經驗 獲得超6個贊

嘗試balance_label像這樣更改文本變量:

balance_label = tk.Label(self, textvariable="$"+controller.shared_data['Balance'], font=('orbitron', 13), fg='white', bg='#3d3d5c', anchor='w')

這應該可以解決問題。


查看完整回答
反對 回復 2023-04-25
?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

$使用此示例通過將與最終結果連接起來來實現您要執行的操作

print ("$"+ current_balance)

或這個

print ("$", current_balance)


查看完整回答
反對 回復 2023-04-25
  • 3 回答
  • 0 關注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號