0

我是 wxWidgets 的新手,很抱歉,如果术语不正确或者我在问一些明显的问题,请以正确的方式指出我。

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

那么,有没有

  1. 一些可以做到这一点的扩展库
  2. 自定义 wxListCtrl 或其他一些现有库并从中继承

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

编辑:

这是我现在所做的,

在构造函数上,

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. 要放在正文中的文本可以是多行的,它似乎不起作用。

4

2 回答 2

3

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

于 2012-11-27T19:30:03.193 回答
0

一目了然,wxListCtrl 无需任何定制就可以满足您的需求。你试过了吗?你遇到了什么问题?

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

于 2012-11-27T17:06:50.053 回答