用于在wxwidgets上创建类似列表的Twitter时间线的组件是什么?

时间:2012-11-27 16:52:24

标签: listview wxwidgets

我是wxWidgets的新手,很抱歉,如果术语已关闭或我问的是明显的问题,请以正确的方式指出我。

我正在为我创建的Web服务创建一个客户端应用程序,我想在某些列表类型UI上显示信息,只是我希望它是一个包含多条信息的单个列,一个图像,日期,某些地方的几个文本。

那么,有吗

  1. 可以执行此操作的某些扩展程序库
  2. 自定义wxListCtrl或其他一些现有库并从
  3. 继承

    我没有使用任何表单构建器工具,只是直接编码代码中的坐标和大小。

    修改

    这是我现在所做的,

    在构造函数上,

    m_timeline = new wxListCtrl( this, wxID_ANY, wxPoint( -1, 30), wxSize( 950, 600 ), wxLC_REPORT );
    
    m_timeline->InsertColumn(0, _("icon"));
    m_timeline->InsertColumn(1, _("post_owner"));
    m_timeline->InsertColumn(2, _("body), wxLIST_FORMAT_LEFT, 700);
    

    然后在需要时,

    wxListItem tweet;
    note.SetId(i);
    
    m_noteTimeline->InsertItem( i, tweet );
    m_noteTimeline->SetItem( i, 0, xxxxx);
    m_noteTimeline->SetItem( i, 1, xxxxx );
    m_noteTimeline->SetItem( i, 2, xxxx );
    

    我不是说这不起作用,但它并不是我的想法,主要是因为,

    1. 我宁愿拥有一个包含所有信息的专栏

    2. 此实现不允许每一行都有按钮(如果是Twitter客户端,则需要有回复按钮,删除等)

    3. 要放入正文的文字可以是多行的,但它似乎不起作用。

2 个答案:

答案 0 :(得分:3)

如果您需要使用特殊字体/样式显示列表项中的每个数据,您还可以尝试使用wxHtmlListBox(可能在虚拟模式下)。

答案 1 :(得分:0)

乍一看,wxListCtrl可以满足您的需求而无需任何自定义。你试过吗?你遇到了什么问题?

如果你想在你的专栏中收集不同小部件的集合,例如按钮,那么我建议最简单的方法是使用单个列wxFlexGridSizer。