ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【二十一】【QT开发应用】ListWiddget图标模式 [打印本页]

作者: 不到断气不罢休    时间: 5 天前
标题: 【二十一】【QT开发应用】ListWiddget图标模式
代码

  1. demo13_listwidget::demo13_listwidget(QWidget* parent)
  2.         : QWidget(parent) {
  3.         ui.setupUi(this);
  4.         resize(600, 500);
  5.         QVBoxLayout* pMainVLayout = new QVBoxLayout(this);
  6.         QListWidget* pListWidget = new QListWidget(this);
  7.         pListWidget->setViewMode(QListView::IconMode);
  8.         pListWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
  9.         pListWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
  10.         QString qss = "QListWidget{border:none; background:rgb(251,251,251);} \
  11.         QListWidget::item{background:blue;  \
  12.         margin-left:20px;  \
  13.         margin-top:10px; \
  14.     }";
  15.         pListWidget->setStyleSheet(qss);
  16.         int vScrollBarWidth = 30;
  17.         pListWidget->setFixedWidth(180 * 3 + vScrollBarWidth + 1);
  18.         for (int i = 0; i < 15; i++) {
  19.                 QIcon icon(":/demo13_listwidget/resources/editor.png");
  20.                 QString name = QString(u8"用户%1").arg(QString::number(i));
  21.                 QListWidgetItem* pItem = new QListWidgetItem(icon, name);
  22.                
  23.                 pItem->setSizeHint(QSize(180, 180));
  24.                 pListWidget->addItem(pItem);
  25.         }
  26.         pMainVLayout->addWidget(pListWidget);
  27. }
复制代码
调整窗口大小

  1. resize(600, 500);
复制代码

创建垂直布局

  1. QVBoxLayout* pMainVLayout = new QVBoxLayout(this);
复制代码

创建QListWidget

  1. QListWidget* pListWidget = new QListWidget(this);
复制代码

设置ListWedget为图标模式

  1. pListWidget->setViewMode(QListView::IconMode);
复制代码

设置滚动条计谋

  1. pListWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
  2. pListWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
复制代码

定义样式表

  1. QString qss = "QListWidget{border:none; background:rgb(251,251,251);} \
  2.     QListWidget::item{background:blue;  \
  3.     margin-left:20px;  \
  4.     margin-top:10px; \
  5. }";
  6. pListWidget->setStyleSheet(qss);
复制代码

设置ListWidget固定宽度

  1. int vScrollBarWidth = 30;
  2. pListWidget->setFixedWidth(180 * 3 + vScrollBarWidth + 1);
复制代码

循环添加ListWidgetItem

  1. for (int i = 0; i < 15; i++) {
  2.     QIcon icon(":/demo13_listwidget/resources/editor.png");
  3.     QString name = QString(u8"用户%1").arg(QString::number(i));
  4.     QListWidgetItem* pItem = new QListWidgetItem(icon, name);
  5.    
  6.     pItem->setSizeHint(QSize(180, 180));
  7.     pListWidget->addItem(pItem);
  8. }
复制代码

添加ListWidget到布局中

  1. pMainVLayout->addWidget(pListWidget);
复制代码

步伐运行效果


结尾

末了,感谢您阅读我的文章,希望这些内容能够对您有所启发和帮助。如果您有任何问题或想要分享您的观点,请随时在批评区留言。
同时,不要忘记订阅我的博客以获取更多风趣的内容。在未来的文章中,我将继续探讨这个话题的不同方面,为您呈现更多深度和看法。
谢谢您的支持,期待与您在下一篇文章中再次相遇!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4