Qt实现复杂的列表控件
来源:互联网 发布:中国银行软件中心 西安 编辑:程序博客网 时间:2024/04/30 03:21
http://blog.csdn.net/wangtaohappy/article/details/8810659
Qt实现复杂的列表控件
分类: GUI Qt2013-04-16 19:57 364人阅读 评论(0) 收藏 举报
QtGUIQt编程控件布局
QTCN上有人问,复杂列表控件怎么做?
控件布局如下图,求指点思路
有高手指点如下,
红框圈起来的是QLabel,1个进度条,2个按钮(toolButton),1个布局,1个QWidget(容器),组成一个widget。
放进QListWidget里。进度条用样式表美化一下,参考:http://developer.qt.nokia.com/doc/qt-4.8/stylesheet-examples.html
放进QListWidget里。进度条用样式表美化一下,参考:http://developer.qt.nokia.com/doc/qt-4.8/stylesheet-examples.html
其中主要用这个函数:void QListWidget::setItemWidget(QListWidgetItem * item, QWidget * widget) 然后应用css样式美化。
类似的,如下面的界面也可以借鉴以上思路:
楼主试验,外面大布局可以用QListWidget,然后将listItem写成自定义的控件集合,用函数setItemWidget()加载就好。
可以将自定义的控件集单独写成一个类,然后用这个类生成表项。
代码参考如下:
- ui->alarmListWidget->setResizeMode(QListView::Adjust);
- ui->alarmListWidget->setAutoScroll(true);
- QWidget *wContainer = new QWidget(ui->alarmListWidget);
- QHBoxLayout *hLayout = new QHBoxLayout(wContainer);
- QLabel *alarmIcon = new QLabel(tr("beih"));
- QLabel *placeLabel = new QLabel(tr("北京"));
- QLabel *videoNumLabel = new QLabel(tr("8"));
- QLabel *dateLabel = new QLabel(tr("2013-4-16"));
- QLabel *alarmMsgLabel = new QLabel(tr("违章搭建"));
- //QPushButton *pDeleteBtn = new QPushButton(QIcon(),tr("delete"));
- hLayout->addWidget(alarmIcon);
- hLayout->addStretch(1);//将空白没有widget的地方分成了若干份,按比例分配
- hLayout->addWidget(placeLabel);
- hLayout->addStretch(1);
- hLayout->addWidget(videoNumLabel);
- hLayout->addStretch(1);
- hLayout->addWidget(dateLabel);
- hLayout->addStretch(1);//将空白没有widget的地方分成了若干份,按比例分配
- hLayout->addWidget(alarmMsgLabel);
- hLayout->setContentsMargins(5,0,0,5);//关键代码,如果没有很可能显示不出来
- // wContainer->setLayout(hLayout);//如果layout在创建时就已经将父窗口指针当参数,那就不用setlayout
- wContainer->resize(350,50);
- // wContainer->show();
- QListWidgetItem *alarmItem = new QListWidgetItem(ui->alarmListWidget);
- ui->alarmListWidget->setItemWidget(alarmItem,wContainer);
- Qt实现复杂的列表控件
- Qt实现复杂的列表控件
- Qt实现复杂的列表控件
- Qt实现复杂的列表控件
- Android复杂列表的实现
- Android学习:实现复杂的列表项
- Android RecyclerView 复杂列表的实现
- Qt中显示复杂列表
- Qt中显示复杂列表
- Qt中显示复杂列表
- Qt中显示复杂列表
- 复杂自定义控件---自定义ViewPager的实现
- Qt入门(17)——组装复杂的控件
- 复杂的列表视图
- qt IP控件的实现
- 不一样的RecyclerView优雅实现复杂列表布局(一)
- 不一样的RecyclerView优雅实现复杂列表布局(二)
- 不一样的RecyclerView优雅实现复杂列表局
- 汉诺塔问题
- linux命令(七):mv命令
- 读《TCPL》I
- 指针函数与函数指针
- linux命令(八):cp命令
- Qt实现复杂的列表控件
- 编写一个使用数组类模板Array对数组进行排序、求最大值和求元素和的程序,并采用相关数据进行测试。
- linux命令(九):touch命令
- linux命令(十):cat命令
- 6.对数组进行排序、求最大值和求元素和的函数采用静态成员函数的方式封装成数组算法类模板ArrayAlg,并采用相关数据进行测试。
- MAC
- linux命令(十一):nl命令
- 对数组进行排序、求最大值和求元素和的算法都编写为函数模板,采用相关数据进行测试。
- linux命令(十二):more命令