- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 Gtk3 开发中,我在林间空地使用 gtkcomboboxtext 小部件,我选择事件项目为零,但它不起作用。所以我写了这一行gtk_combo_box_set_active(组合,0);
在我的代码中。这有效,但在编译时抛出一些警告,我怎样才能以干净的方式做到这一点?
显示的警告是这样的
usr/include/gtk-3.0/gtk/gtkcombobox.h:99:15: note: expected ‘struct GtkComboBox *’ but argument is of type ‘struct GtkComboBoxText *’
test.c:247:13: warning: passing argument 1 of ‘gtk_combo_box_set_active’ from incompatible pointer type [enabled by default]
In file included from /usr/include/gtk-3.0/gtk/gtkappchooserbutton.h:29:0,
from /usr/include/gtk-3.0/gtk/gtk.h:45,
from test.c:1:
最佳答案
摘自文档 gtk_combo_box_new
(对于 GtkBuilder 创建的小部件来说是一样的,它们都被转换为 GtkWidget,但请继续阅读):
gtk_combo_box_new ()
GtkWidget * gtk_combo_box_new (void);
Creates a new empty GtkComboBox.
Returns :
A new GtkComboBox.
Since 2.4
和另一个gtk_combo_box_set_active
gtk_combo_box_set_active ()
void gtk_combo_box_set_active (GtkComboBox *combo_box,
gint index_);
Sets the active item of combo_box to be the item at index.
combo_box :
A GtkComboBox
index_ :
An index in the model passed during construction, or -1 to have no active item
Since 2.4
问题显然是 gtk_combo_box_new
的返回值是已经转换为 GtkWidget
的 GtkComboBox
(方便),而 gtk_combo_box_set_active
需要一个 GtkCombobox
。
要消除并修复警告,请使用转换宏 GTK_COMBO_BOX (combo)
或 (GtkComboBox*)combo
而不是裸露的 combo
。
下次首先查看 API 文档(网络或通过 devhelp)。
关于linux - Gtk3 Comboboxtext 小部件默认项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20369483/
在 Gtk3 开发中,我在林间空地使用 gtkcomboboxtext 小部件,我选择事件项目为零,但它不起作用。所以我写了这一行gtk_combo_box_set_active(组合,0);在我的代
我正在编写一个简单的 GUI,其中有一个 ComboBoxText。每当用户单击 ComboBoxText 时,我都会写一条日志消息。我已经尝试了几乎所有的按钮释放和弹出信号,但没有结果。唯一有效的是
我知道如何在 ComboBox 中设置默认选择,但我有一个允许用户输入他/她的性别的 ComboBoxText 小部件。所以,我可以使用 Gtk.ComboBox.set_active(),但这会表达
我想让我的 ComboBoxText 中的一个项目成为默认值,而不是一个空白的组合框,直到用户选择某些东西。显然,这是通过将 Glade 中的 Active 值更改为 [我想默认的项目] 来设置的。这
我在带有默认 GCC 工具链的 Ubuntu 12.04 机器上使用 gktmm 3.0。 在 C# 世界中,ComboBox 类有一个 ComboxBox.item[n].value 属性,它允许您
我正在尝试使用 Glade (GTK+3) 和 Python 在 Ubuntu 应用程序中实现下拉列表。我可以显示 ComboBoxText,并用字符串填充。但是,当我关闭它所在的窗口然后重新打开它时
我是一名优秀的程序员,十分优秀!