GTK4按钮助记符下划线不显示问题排查求助
问题原因与解决方法
问题根源
GTK 默认会自动隐藏助记符下划线,只有当用户按下 Alt 键时才会显示——这是遵循多数桌面环境的界面规范,避免界面元素过多显得杂乱。你的快捷键能正常触发,说明助记符逻辑本身是正确的,只是下划线默认处于隐藏状态。
解决方法
方法1:通过环境变量全局生效
运行程序前设置环境变量,强制始终显示助记符下划线:
export GTK_DISABLE_MNEMONIC_AUTOHIDE=1 ./your-program-executable
方法2:在代码中针对性设置
修改activate函数,添加代码关闭GTK的自动隐藏助记符功能:
static void activate (GtkApplication *app, gpointer user_data) { GtkBuilder *builder = gtk_builder_new (); gtk_builder_add_from_file (builder, "builder1.ui", NULL); GObject *window = gtk_builder_get_object (builder, "window"); gtk_window_set_application (GTK_WINDOW (window), app); // 关闭自动隐藏助记符,让下划线始终显示 GtkSettings *settings = gtk_settings_get_default(); g_object_set(settings, "gtk-auto-mnemonics", FALSE, NULL); gtk_widget_show (GTK_WIDGET (window)); }
额外验证
你的标签写法_Quit是正确的,它会将Q设为助记符并为其添加下划线,只要解决自动隐藏的问题,下划线就会正常显示。
内容的提问来源于stack exchange,提问作者Ramses
相关产品推荐
相关产品推荐

