首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在wxpython textctrl字段中使用提示

在wxpython textctrl字段中使用提示
EN

Stack Overflow用户
提问于 2018-10-11 02:10:56
回答 1查看 328关注 0票数 0

我想把提示(斜体,灰色,不可更改的文本)放到一个输入字段中,当用户输入第一个字符(或者字段被聚焦,这就不太好了)时,提示就会被删除。

其基本原理是只要字段为空,就会给用户一些关于字段含义的提示。

https://wxpython.org/Phoenix/docs/html/wx.TextCtrl.html的文档指出,文本样式是(only?)可用于多行字段,我不需要。

这可以通过wxpython TextCtrl实现吗?多么?

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2018-10-11 17:06:46

一种简单的方法是将Font设置为具有所需的属性,然后在“提示”文本退格时重置这些属性。

代码语言:javascript
代码运行次数:0
运行
复制
import wx

class MainFrame(wx.Frame):

    def __init__(self):
        wx.Frame.__init__(self, None, title='Test TextCtrl')
        self.panel = wx.Panel(self)
        self.text1 = wx.TextCtrl(self.panel,value="Normal Text",pos=(10,10),size=(350,30))
        self.text2 = wx.TextCtrl(self.panel,value="Italic greyed hint text",pos=(10,40),size=(350,30))
        font = wx.Font(10, wx.DEFAULT, wx.FONTSTYLE_ITALIC, wx.NORMAL)
        self.text2.SetFont(font)
        self.text2.SetForegroundColour('#848484')
        self.text2.Bind(wx.EVT_TEXT, self.On_Text_Active)
        self.Show()

    def On_Text_Active(self, event):
        if self.text2.GetForegroundColour() == '#848484':
            font = wx.Font(10, wx.DEFAULT, wx.NORMAL, wx.NORMAL)
            self.text2.SetFont(font)
            self.text2.SetForegroundColour(wx.BLACK)
            self.text2.SetValue('')

if __name__ == '__main__':
    app = wx.App()
    frame = MainFrame()
    app.MainLoop()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52746374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档