2012-01-03 40 views
0

所以我想解决如何设计我的线框。它基本上只有两个QScrollAreas,一个在另一个上面,每个都有一个头部(和头部内的按钮)。创建自定义Qt构件或实现现有的构件?

里面的滚动区域的一个设计,我希望有类似QListWidgetItems的列表中的项目,但他们将不得不在右

左侧一个小的图片,描述在的另一种设计滚动区域,我想只需填充颜色或图案/图像的矩形。他们都需要可选择并发出点击信号。

我应该采用类方法,并创建一个新类作为自定义小部件吗?实现QWidget,并计算应放置的位置,改变鼠标事件的背景颜色/不透明度等。还是有另一种方法我应该采取这个?从我读过的内容来看,创建自定义小部件是一件非常痛苦的事情。

下面是我想要设计的线框 - 有什么可以做的工作吗?如果不是,我应该如何去设计这些?我想过使用几个QListWidgets或QTreeWidgets,但他们不会完成我所寻找的一切。

Wireframes of custom "widgets"

+0

我刚刚注意到了QItemDelegate - 这是我应该使用的东西吗? – giraffee 2012-01-04 02:59:34

回答

1

我选择采取不同的方法。而不是一个列表或QScrollArea,我只是采取一个QGraphicsView并绘制我自己的对象。我需要它来处理更多的交互(左键和右键,它内部的小按钮等)。当我更好地理解它时,我可以将它实现为QListView,但现在,这将工作。

0

我想你可以创建自己的QWidget为基础的控制。对于标题部分只需拖动一个标签和一个按钮,对于其他部分,您可以使用QListWidget或QListView与自定义单元格

+0

对不起,我不能说我是Qt小部件的专家 - 你会推荐一个基于QWidget的新类吗?并计算方向? 至于QListView/QListWiget - 任何想法如何创建具有与默认完全不同的外观的自定义单元格? – giraffee 2012-01-03 04:34:07

相关问题