C++ Gtk::TextView::从GTKMM 2.4移动到GTK3.0时修改_字体存在问题

C++ Gtk::TextView::从GTKMM 2.4移动到GTK3.0时修改_字体存在问题,c++,gtkmm,gtk-textbuffer,C++,Gtkmm,Gtk Textbuffer,我有一个使用gtkmm 2.4的应用程序,在我最近改用gtkmm 3.0之前,它一直运行良好。我对g++(版本4.6.1)有一个问题,它不断地抛出错误“error:'class Gtk::TextView'没有名为'modify_font'的成员”。当我将build includes恢复到gtkmm 2.4(通过将pkg config gtkmm-3.0--cflags--libs更改回gtkmm-2.4)时,情况并非如此 我沿着标题返回(在code::blocks中),函数标题肯定在那里。看起

我有一个使用gtkmm 2.4的应用程序,在我最近改用gtkmm 3.0之前,它一直运行良好。我对g++(版本4.6.1)有一个问题,它不断地抛出错误“error:'class Gtk::TextView'没有名为'modify_font'的成员”。当我将build includes恢复到gtkmm 2.4(通过将
pkg config gtkmm-3.0--cflags--libs
更改回gtkmm-2.4)时,情况并非如此

我沿着标题返回(在code::blocks中),函数标题肯定在那里。看起来Gtk::Widget::modify_字体也没有贬值

关于Gtk::TextView,我的类层次结构的示例如下:

// The parent of the offending TextView
class popupWindow : public Gtk::Window
{
public:
  popupWindow();
private:
  Gtk::TextView theView;
  Gtk::ScrolledWindow scrollView;
  Gtk::VBox layoutBox;
  Glib::RefPtr<Gtk::TextBuffer> textBuffer;
};

// The main window class
class mainWindow : public Gtk::Window
{
private:
  popupWindow foo;
};

// Part of the header where I try and set the modified font
popupWindow::popupwindow() : layoutBox(false, 8)
{
  // Modify the font styling of the TextView
  {
    Pango::FontDescription fdesc;
    fdesc.set_family("monospace");
    fdesc.set_size(10 * PANGO_SCALE);
    theView.modify_font(fdesc);
  }

  // Make a new text buffer
  textBuffer = Gtk::TextBuffer::create();


  add(layoutBox);
  layoutBox.pack_start(scrollView);
  scrollView.add(theView);
  theView.set_buffer(textBuffer);
}
//有问题的TextView的父级
类popupWindow:public Gtk::Window
{
公众:
popupWindow();
私人:
Gtk::text查看视图;
Gtk::ScrolledWindowScrollView;
Gtk::VBox布局框;
Glib::RefPtr textBuffer;
};
//主窗口类
类主窗口:公共Gtk::窗口
{
私人:
Poppuphindow-foo;
};
//标题的一部分,我尝试在其中设置修改过的字体
popupWindow::popupWindow():布局框(false,8)
{
//修改文本视图的字体样式
{
Pango::FontDescription fdesc;
集合族(“单空间”);
fdesc.集合大小(10*盘古刻度);
视图。修改字体(fdesc);
}
//创建一个新的文本缓冲区
textBuffer=Gtk::textBuffer::create();
添加(布局框);
layoutBox.pack\u启动(滚动视图);
scrollView.add(theView);
设置缓冲区(文本缓冲区);
}
gtkmm 3.0,而不是修改字体()


文档中确实缺少关于3.0中更改内容的详细信息,一些符号在2.4中没有被弃用就被重命名了。我相信,如果您有时间帮助,gtkmm开发人员一定会有兴趣获得一些帮助,以使文档更完善。

谢谢您的反馈。我在任何地方都找不到这个列表。关于2.4->3.0变更日志有点不足,您是对的。当我有时间的时候,我会尽力帮忙的。