Gtk Modelcolumn和矢量与联盟

时间:2017-01-18 11:28:33

标签: c++ vector boost gtkmm

我能够从文本文件创建列,但这些只是字符串。

我用它来调整矢量大小,但只有Glib :: ustrings。所以我听说了union或者类似boost:variant但是我无法弄清楚如何给出例如test [0]数据类型Glib:ustring和test [1]类型bool等等。或者还有另一种更简单的方法来处理GTKmm中的列

union DTypes
{
    Glib::ustring s;
    bool b;
    int i;
};

class ModelColumns : public Gtk::TreeModel::ColumnRecord
{
public:


    std::vector<Gtk::TreeModelColumn<Glib::ustring>> test;


    void append_column()
    {
        ++t_size;
        test.resize(t_size);
        add (test[t_size-1]);
    }
private:
    int t_size=0;
};

顺便说一下它正在运行,每一列都存在。

    m_refTreeModel = Gtk::ListStore::create(m_Columns);
    m_TreeView.set_model(m_refTreeModel);
    m_refTreeSelection = m_TreeView.get_selection();
    m_refTreeSelection->signal_changed().connect( sigc::mem_fun(*this, &MyWindow::on_selection_changed));

    for (int i=0; i<categorycount; i++)
    {
        m_TreeView.append_column_editable(category[i].substr(ci_count),m_Columns.test[i]);
    }

0 个答案:

没有答案