gpt4 book ai didi

c - 在 gtk 中显示密码按钮

转载 作者:行者123 更新时间:2023-12-05 01:54:27 24 4
gpt4 key购买 nike

在 gtk 中有没有办法在条目右侧制作一个眼睛图标来显示密码?我知道有一种方法可以在条目下创建一个复选框来显示密码,但我希望按钮位于条目内部,而不是外部。简单地说:

我正在寻找的是: show password icon

...而不是这个:show password checkbox

(很抱歉我不能嵌入图片。该网站说我首先需要 10 个声望。实际上我曾经有将近 300,直到我被禁止进行不喜欢的攻击。请在你不喜欢之前三思,因为它实际上只需要~20 永久禁止长达一年的用户。如果有人有足够的声誉来编辑问题并添加图像,请这样做)

最佳答案

您可以使用 set_icon_from_ 函数将图标放入 Gtk.Entry,例如 set_icon_from_name .

因此您需要将图标设置为例如 view-reveal-symbolic.symbolic 图标,使用 set_icon_activatable 使其可点击然后在 icon-press 的信号处理程序中事件你需要 set_visibility隐藏或显示文本(并将图标更改为类似 view-conceal-symbolic.symbolic 的内容)。

所以 Gtk.Entry 代码看起来像这样

GtkWidget *entry = gtk_entry_new();
gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE);
gtk_entry_set_icon_from_icon_name(GTK_ENTRY(entry),
GTK_ENTRY_ICON_SECONDARY,
"view-reveal-symbolic.symbolic");
gtk_entry_set_icon_activatable(GTK_ENTRY(entry), GTK_ENTRY_ICON_SECONDARY, TRUE);
g_signal_connect(entry, "icon-press", G_CALLBACK (on_icon_press), NULL);

和信号处理程序

void on_icon_press(GtkWidget *widget, gpointer data) {   
gboolean visible = gtk_entry_get_visibility(GTK_ENTRY(widget));

if (visible) {
gtk_entry_set_visibility(GTK_ENTRY(widget), FALSE);
gtk_entry_set_icon_from_icon_name(GTK_ENTRY(widget),
GTK_ENTRY_ICON_SECONDARY,
"view-reveal-symbolic.symbolic");
} else {
gtk_entry_set_visibility(GTK_ENTRY(widget), TRUE);
gtk_entry_set_icon_from_icon_name(GTK_ENTRY(widget),
GTK_ENTRY_ICON_SECONDARY,
"view-conceal-symbolic.symbolic");
}
}

你会得到这样的东西:

enter image description here enter image description here

关于c - 在 gtk 中显示密码按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70611691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com