> 文档中心 > QListWidget 中的元素水平排列

QListWidget 中的元素水平排列

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*)));

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()可以获取子窗口部件的页号。

或许你会感兴趣的内容!!!

QT 之多种布局展示