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()))
TA贡献1848条经验 获得超6个赞
尝试balance_label
像这样更改文本变量:
balance_label = tk.Label(self, textvariable="$"+controller.shared_data['Balance'], font=('orbitron', 13), fg='white', bg='#3d3d5c', anchor='w')
这应该可以解决问题。
TA贡献2012条经验 获得超12个赞
$
使用此示例通过将与最终结果连接起来来实现您要执行的操作
print ("$"+ current_balance)
或这个
print ("$", current_balance)
添加回答
举报