要将GtkEntry小部件设置为只接受数字,可以使用以下步骤:
#include <gtk/gtk.h>
static void on_entry_changed(GtkEditable *editable, gpointer user_data) {
const gchar *text = gtk_entry_get_text(GTK_ENTRY(editable));
gchar *new_text = g_strdup(text);
gint i;
for (i = 0; i < strlen(text); i++) {
if (!g_ascii_isdigit(text[i])) {
new_text[i] = '\0';
break;
}
}
gtk_entry_set_text(GTK_ENTRY(editable), new_text);
g_free(new_text);
}
GtkWidget *entry = gtk_entry_new();
g_signal_connect(entry, "changed", G_CALLBACK(on_entry_changed), NULL);
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_container_add(GTK_CONTAINER(window), entry);
gtk_widget_show_all(window);
这样,GtkEntry小部件就会只接受数字输入了。
对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,无法给出相关链接。但腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储等,可以根据具体需求选择适合的产品。
“中小企业”在线学堂
云+社区技术沙龙[第5期]
serverless days
云+社区技术沙龙[第28期]
腾讯云GAME-TECH游戏开发者技术沙龙
云+社区沙龙online [技术应变力]
DB-TALK 技术分享会
云+社区技术沙龙[第25期]
云+社区技术沙龙[第21期]
云+社区技术沙龙[第27期]
云+社区技术沙龙 [第30期]
领取专属 10元无门槛券
手把手带您无忧上云