gpt4 book ai didi

c++ - 添加 Gtk::Entry 到 Gtk::Dialog

转载 作者:行者123 更新时间:2023-11-28 05:39:01 27 4
gpt4 key购买 nike

我正在向 Gtk::Dialog 添加一个 Gtk::Entry

Gtk::Dialog *dialog = manage ( new Gtk::Dialog() );
dialog->set_title("Add Text");

Gtk::Entry entry;

entry.set_activates_default(true);
entry.set_max_length(50);
entry.set_text("hello world");
entry.select_region(0, entry.get_text_length());

dialog->add(entry);
dialog->show();

此代码显示一个空对话框。使用 show_all()show_all_children() 时,没有任何反应,甚至没有出现空对话框。

在所有情况下我都会收到以下警告:

Gtk-WARNING **:尝试将 gtkmm__GtkEntry 类型的小部件添加到 gtkmm__GtkDialog,但作为 GtkBin 子类,gtkmm__GtkDialog 一次只能包含一个小部件;它已经包含一个 GtkVBox 类型的小部件

帮我解决这个问题。

最佳答案

Gtk::Dialog 已经添加了一个 VBox。查看 Gtk::Dialog 类的源文件,我发现了 get_vbox() 函数。我必须访问 VBox 才能向对话框添加更多组件。

dialog->get_vbox()->pack_start(*entry, Gtk::PACK_SHRINK);
dialog->set_text("hello world");

dialog->set_size_request(200,100);
dialog->show_all();

一切正常。

关于c++ - 添加 Gtk::Entry 到 Gtk::Dialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37589260/

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