在最终切割中支持表/网格小部件
Support for table/grid widget in final-cut?
问题是关于tui c 库https://github.com/gansm/finalcut.
- 显示钥匙的最佳方法是什么:小部件中的值对?我暂时将其使用的标签对象(具有钥匙和值的不同颜色)。但是让我继续...
- 如何显示关键的列表:值对?
- 再推动它,我该如何显示桌子?有任何计划在将来支持它吗?
我使用最终剪切版本0.3.0。
最终切割没有能够处理钥匙值商店的小部件。拥有一个小部件直接显示标准容器元素而无需单独插入项目真的很有趣。但是您可以用关联容器中的值填充flistbox小部件。
using namespace finalcut;
FListBox* list = new FListBox (this);
list->setGeometry(FPoint(1, 1), FSize(7, 7));
std::map<char,int> ascii;
std::map<char,int>::iterator iter, begin, end;
ascii['@'] = 0x40;
ascii['A'] = 0x41;
ascii['B'] = 0x42;
ascii['C'] = 0x43;
begin = ascii.begin();
end = ascii.end();
for (iter = begin; iter != end; ++iter )
list->insert (iter->second);
// Jump in the list to item ascii['B']
int n = int(std::distance(begin, ascii.find('B') ));
list->setCurrentItem(n+1);
// Stupid indirect access: value that is mapped to key 'C'.
n = int(std::distance(begin, ascii.find('C') ));
FListBoxItem item = list->getItem(n+1);
FMessageBox::info (this, "Value[C]", item.getText());
将来,还计划了一个名为Flistview的小部件。在这里,可以拥有多个列。这应该允许您对数据的表格表示。
或您克隆当前的Git存储库,并使用全新的FSCrollview小部件。在这里,您可以将几个标签小部件放在可滚动的视口上。(当心:FSCrollview仍在开发中)
在最终剪切git存储库的当前版本中,flistbox小部件能够从STL容器中导入数据。您可以直接导入有关插入的数据,也可以在以后通过"懒惰转换"第一次访问。您需要的所有辅助功能。
直接导入
#include <final/final.h>
using namespace finalcut;
static FString* temp_str = 0;
// Direct import helper functions
FString& IntToString (std::vector<int>::const_iterator iter)
{
return temp_str->setNumber(*iter);
}
int main (int argc, char* argv[])
{
FApplication app(argc, argv);
FDialog dialog ("List example", &app);
dialog.setGeometry (FPoint(30, 2), FSize(22, 22));
FListBox list (&dialog);
list.setText ("Direct import");
list.setGeometry (FPoint(1, 1), FSize(20, 19));
int n = 0;
temp_str = new FString;
std::vector<int> v(100,0);
std::vector<int>::iterator iter = v.begin();
while ( iter != v.end() )
{
n++;
*iter = n;
++iter;
}
list.insert (v.begin(), v.end(), IntToString);
delete temp_str;
app.setMainWidget(&dialog);
dialog.show();
return app.exec();
}
通过懒惰转换导入
#include <final/final.h>
using namespace finalcut;
// Lazy conversion helper functions
void IntToString (FListBoxItem& item, FDataAccess* container, int index)
{
auto& vec = flistboxhelper::getContainer<std::vector<int>>(container);
int n = vec[index];
item.setText (" " + FString().setNumber(n));
}
int main (int argc, char* argv[])
{
FApplication app(argc, argv);
FDialog dialog ("List example", &app);
dialog.setGeometry (FPoint(30, 2), FSize(22, 22));
FListBox list (&dialog);
list.setText ("Lazy conversion");
list.setGeometry (FPoint(1, 1), FSize(20, 19));
int n = 0;
std::vector<int> v(100, 0);
std::vector<int>::iterator iter = v.begin();
while ( iter != v.end() )
{
*iter = n;
(n%2 != 0) ? n++ : n+=3;
++iter;
}
list.insert (v, IntToString);
app.setMainWidget(&dialog);
dialog.show();
int ret = app.exec();
return ret;
}
上次修改:即将发布的版本0.7.0
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 最小硬币更换问题(自上而下方法)
- Qt VTK交互风格的信号到小部件
- 芬威克树(BIT).找到具有给定累积频率的最小索引,单位为 O(logN)
- 如何在Qt窗口小部件中使用QStringView(或QStringRef)
- 使用递归的数组的最小值.这是怎么回事
- 为什么在浮点中从大到小会引入更多的误差
- 找到两对数字,使它们的乘积的绝对差最小化
- 如何使用boost::具有嵌套结构和最小代码更改的序列化
- 最大和最小 1 C++函数
- 如何创建一个函数来计算并返回平均值、最大值和最小值
- 我可以做些什么来消除或最小化这种将提供相同功能和行为的代码重复
- 如何将部分流作为参数传递
- 如何在QT中的自定义视频小工具t上绘制矩形
- 在二维数组中查找最小值和最大值?
- 查找矩阵C++中每一列和每一行的最小和最大元素
- QGridLayout 3x3 网格调整小部件的大小
- 在最终切割中支持表/网格小部件
- C++ 创建小部件数组
- 将网格线添加到 Wt WTable 小部件