1——QListWidget 中元素的排列方式设置:
m_listWidget = new QListWidget();
m_listWidget->insertItem(0,tr("TCP"));//添加元素
m_listWidget->insertItem(1,tr("UDP"));
m_listWidget->setSpacing(2);//设置单元项的间距
m_listWidget->setFlow(QListView::LeftToRight);//从左到右横向的排列,图片和文字也是从左到右排列
m_listWidget->setViewMode(QListView::IconMode);//左到右横向的排列,上图下文模式
m_listWidget->setViewMode(QListView::ListMode);//子项就会从上到下排列,图片和文字是从左到右排列.
m_listWidget->setFlow(QListView::TopToBottom);//子项就会从上到下排列,图片和文字是从左到右排列.
this->videoListWidget->setMovement(QListView::Static);//把列表设置为固定的(不能移动)
this->videoListWidget->setResizeMode(QListView::Adjust);//设置自动适应布局调整
this->videoListWidget->setIconSize(QSize(200,170));//设置图片的大小
拓展1:QListWidget和QStackWidget结合切换栈窗口时,只需要下面这一句即可
connect(m_listWidget,SIGNAL(currentRowChanged(int)),m_stackWidget,SLOT(setCurrentIndex(int)));
拓展2:选中子项时的槽函数连接方式:
connect(videoListWidget,SIGNAL(itemClicked(QListWidgetItem*)),this,SLOT(getInfo(QListWidgetItem*)));
2——QListWidget展示照片时的代码示例如下:
//存
this->imgItem = new QListWidgetItem;
imgItem->setTextColor("black");
imgItem->setText(allVideoCover.at(i).vname);
imgItem->setIcon(QIcon(allVideoCover.at(i).cover));//图片路径
imgItem->setData(Qt::UserRole,allVideoCover.at(i).vPath);//存储数据
imgItem->setData(Qt::UserRole+1,allVideoCover.at(i).vframe);//存储数据
imgItem->setSizeHint(QSize(200,170));
this->videoListWidget->addItem(imgItem);
//取
this->path = item->data(Qt::UserRole).toString();
this->sumframe = item->data(Qt::UserRole+1).toInt();
重点:利用setData(),data()存储数据
拓展3:QStackWidget的分页是从0开始的,要使某个特定的子窗口部件可见,可以调用setCurrentIndex(int),使用indexOf()可以获取子窗口部件的页号。
3——设置要在给定项中显示的小工具
void QListWidget::setItemWidget(QListWidgetItem * item, QWidget * widget)
示例:
QListWidgetItem *mItem = new QListWidgetItem(ui->lwEffect);
QLabel* label = new QLabel;
ui->listWidget->setItemWidget(mItem, label);
或许你会感兴趣的内容!!!