如何使用CellRendererText标记无效条目

时间:2018-03-23 17:12:50

标签: gtk3

我正在编写一个包含用户可编辑数据的表格的应用程序。某些表列包含数字。我希望用户能够在表格中的字段中键入新号码,但是如果用户键入" foo"或" 1.2.3"我需要能够向用户发出信号,表明尚未接受此信息。

当使用普通的Entry小部件时,如果用户输入的不是数字,我可以将状态设置为Invalid。但是对于表格,我使用TreeView和TreeViewColumns。用户正在编辑使用CellRendererText显示的文本。我知道我可以在用户输入文本时获取实际的文本输入小部件,但据我所知,当用户按下"输入"在CellRendererText发送TextEdited信号之前,该小部件消失。

在这种情况下向用户发出错误信息的正确方法是什么?我想用红色概述违规字段。

1 个答案:

答案 0 :(得分:0)

您可以连接到editing-started以获取TextEntry对象,然后连接到changed信号以观察用户正在键入的内容。之后,您可以提示文本有问题。