我创建了EntryCompletion。 以下是代码,
Glib::RefPtr<Gtk::EntryCompletion> completion = Gtk::EntryCompletion::create();
Glib::RefPtr<Gtk::ListStore> refCompletionModel = Gtk::ListStore::create(m_columns);
std::list<string> mylist;
mylist.push_back("Alen");
mylist.push_back("Asian bro");
mylist.push_back("Bob");
mylist.push_back("Bob medal");
Gtk::TreeModel::Row row;
std::list<string>::iterator itr = mylist.begin();
for(; itr != mylist.end(); ++itr)
{
row = *(refCompletionModel->append());
row[m_columns.m_col_name] = *itr;
}
completion->set_text_column(m_columns.m_col_name);
completion->set_model(refCompletionModel);
cmbSearch->set_popdown_strings(mylist);
cmbSearch->get_entry()->set_completion(completion);
当我在Gnome桌面环境中运行我的二进制文件时,它工作正常。但是当我在X服务器中运行时,在组合框条目内输入不会显示自动检测到的字符串。
在X服务器上运行命令, / usr / bin / xinit ./binaryName ../conf/confFile - :2
感谢您的帮助。