1.entry控件中输入字符的过滤
注册entry控件的"insert-text"信号,并在该信号的回调函数中过滤不需要的字符。
entry的创建:
GtkWidget* entry;
entry = gtk_entry_new();
注册entry的"insert-text"信号:
g_signal_connect (G_OBJECT(entry), "insert-text", G_CALLBACK (on_entry_insert_text), NULL);
回调函数的实现(该函数只接收8进制数(0~7)):
void on_entry_insert_text (GtkWidget* entry, gcahr* new_text, int new_text_length, int* position)
{
if (new_text[0] > '7' || new_text [0] < '0')
{
new_text[0] = '/0';
}
return ;
}
2.entry控件接收字符长度的限制
同样还是在"insert-text"信号的回调函数中完成。
</

在GTK中,可以使用'insert-text'信号配合回调函数实现对entry控件输入字符的过滤,例如仅允许8进制数(0~7)。同时,通过信号回调函数与gtk_entry_set_max_length()结合,可以实现接收字符长度的定制,如显示25个字符,但最多接收10个8进制数。
最低0.47元/天 解锁文章
1155

被折叠的 条评论
为什么被折叠?



