wxpython textctrl_如何制作wxpython密码textctrl show chars?

创建控件后无法更改样式标志.

你可以破坏控件并创建一个没有密码标志的新控件,或者在sizer中并排保持两个,一个总是隐藏.如果要切换,可以将文本复制到另一个文本控件中,隐藏一个并显示另一个,然后在sizer上调用Layout.

import wx

class Frame(wx.Frame):

def __init__(self,*args,**kwargs):

wx.Frame.__init__(self,*args,**kwargs)

panel= wx.Panel(self)

self.password_shown= False

sizer= wx.BoxSizer(wx.VERTICAL)

self.password_sizer= wx.BoxSizer(wx.HORIZONTAL)

self.text_password= wx.TextCtrl(panel,style=wx.TE_PASSWORD)

self.password_sizer.Add(self.text_password,0,wx.ALL,5)

self.text_no_password= wx.TextCtrl(panel)

self.text_no_password.Hide()

self.password_sizer.Add(self.text_no_password,0,wx.ALL,5)

sizer.Add(self.password_sizer)

self.button= wx.Button(panel,-1,"Toggle Password")

sizer.Add(self.button,0,wx.ALL,5)

self.button.Bind(wx.EVT_BUTTON,self.OnButton)

panel.SetSizer(sizer)

self.Show()

def OnButton(self,event):

self.text_password.Show(self.password_shown)

self.text_no_password.Show(not self.password_shown)

if not self.password_shown:

self.text_no_password.SetValue(self.text_password.GetValue())

self.text_no_password.SetFocus()

else:

self.text_password.SetValue(self.text_no_password.GetValue())

self.text_password.SetFocus()

self.text_password.GetParent().Layout()

self.password_shown= not self.password_shown

if __name__ == "__main__":

app= wx.App(0)

Frame(None)

app.MainLoop()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值