怎么利用qlistwideget设置好友列表

怎么利用qlistwideget设置好友列表,第1张

`QListWidget` 是 Qt 框架中提供的一个控件,用于显示列表形式的数据。如果想要利用 `QListWidget` 设置好友列表,你可以按照以下步骤进行:

1 创建一个 `QListWidget` 控件,并将其添加到你的窗口中。

```python

friend_list_widget = QtWidgetsQListWidget(self)

```

2 创建一个字典,其中包含你的好友信息,比如好友名字、头像、状态等等。

```python

friends = {"小明": {"avatar": "avatar_1png", "status": "在线"},

"小红": {"avatar": "avatar_2png", "status": "离线"},

"小丽": {"avatar": "avatar_3png", "status": "离开"}}

```

3 遍历好友字典,将每个好友信息添加到 `QListWidget` 控件中。

```python

for friend_name, friend_info in friendsitems():

item = QtWidgetsQListWidgetItem(friend_name, friend_list_widget)

itemsetIcon(QtGuiQIcon(friend_info["avatar"]))

itemsetStatusTip(friend_info["status"])

```

在这个例子中,我们利用 `QListWidgetItem` 类创建了一个好友列表项,该列表项包含好友名字、头像和状态提示。

4 设置 `QListWidget` 的显示模式为 "IconMode",并设置每个项的大小和间距。

```python

friend_list_widgetsetViewMode(QtWidgetsQListViewIconMode)

friend_list_widgetsetIconSize(QtCoreQSize(64, 64))

friend_list_widgetsetSpacing(10)

```

5 最后,将 `QListWidget` 加入到你的窗口中,并设置它的大小、位置等属性。

```python

friend_list_widgetsetGeometry(10, 10, 300, 400)

friend_list_widgetshow()

```

这样,你就可以利用 `QListWidget` 控件创建一个简单的好友列表了。当然,这只是一个简单的例子,你可以根据自己的需求进行进一步的定制和优化。

listWidgetsetSelectionMode(QtGuiQAbstractItemViewExtendedSelection) #设置选择模式

QList<QListWidgetItem> selItemList = listWidgetselectedItems() //返回一个包含选中了的item对象 的list 对象

鼠标点击时,会发出itemClicked()信号。信号的参数是ListWidgetItem ,用此指针和数据源的每一项逐个比较,就是到行号了。(不过单纯知道ListWidget行号没有意义,因为画面排序后行号会变化)

热门频道

首页

博客

研修院

VIP

APP

问答

下载

社区

推荐频道

活动

招聘

专题

打开CSDN APP

Copyright © 1999-2020, CSDNNET, All Rights Reserved

打开APP

C/C++ Qt ListWidget 列表框组件应用 原创

2022-11-03 20:01:34

十年编程老舅

码龄143天

关注

ListWidget列表框组件,该组件与TreeWidget有些相似,区别在于TreeWidget可以实现嵌套以及多字段结构,而ListWidget组件则只能实现单字段结构,ListWidget组件常用于显示单条记录,例如只显示IP地址,用户名等数据,如下笔记是本人在开发中经常用到的一些基本 *** 作技巧,包括列表框组件的基本 *** 作方法。

常用节点间的 *** 作方法如下:

ListView 组件与应用基础

ListWidget 初始化

ListWidget 变化行(触发事件)

ListWidget 编辑状态设置

ListWidget 全选/全不选

ListWidget 反选(对错交织)

ListWidget 指定位置插入 / 增加一项

ListWidget 删除选中项

ListView 组件与应用基础: 该组件与ListWidget功能一致,只是ListView无法实现编辑只能预览。

QT技术文推荐:Qt开发必备技术栈学习路线和资料

代码运行效果如下:

上方代码中我们多数都是在使用View视图组件,接下来将具体分析Widget组件的使用细节,View组件与Widget组件看似一致,但却存在本质区别,其大致区别如下:

Widget 组件可以直接通过如AddItem等一系列函数 *** 作特定数据集,该组件还具有直接编辑的能力。

View 组件是基于Model模型映射工作的,每次 *** 作数据时都需要借助QAbstractListModel数据模型来 *** 作。

简单来说View组件适合于浏览展示数据较多的场景,因为其绑定了链表结构从而在数据的展示上更为灵活,而Widget组件更适合于更新或修改数据较多的使用场景。

ListWidget 节点初始化: 节点的初始化就是向widget组件内插入一个QListWidgetItem类。

代码运行效果如下:

ListWidget 行内文本变化: 当我们点击行内任意一个列表选项时,我们让其触发currentItemChanged并将变化行更新到窗体上。

代码运行效果如下:

ListWidget 编辑状态设置: 默认情况下ListWidget组件内所有文件是不可编辑的,我们也可以将编辑属性打开。

代码运行效果如下:

QT技术文推荐:Qt开发必备技术栈学习路线和资料

ListWidget 全选/全不选: 全选顾名思义就是选中菜单中的所有数据,使用aItem->setCheckState(Qt::Checked)实现选中,通过循环计数即可。

代码运行效果如下:

ListWidget 反选功能: 反选的含义是,用户选中菜单反选后会变为未选中状态,未选中则变为选中,只需要增加一个判断即可实现。

代码运行效果如下:

ListWidget 指定位置插入/追加插入: 在选中行的上方插入一行新的表项,以及追加到末尾一行。

代码运行效果如下:

ListWidget 删除选中项: 删除当前选中的一项,并清理释放内存。

代码运行效果如下:

文章知识点与官方知识档案匹配

C技能树首页概览

115836 人正在系统学习中

打开CSDN APP,看更多技术内容

listview listwidget

qt

c++

写评论

评论

收藏

点赞

分享

首先,我们适应QtCreator创建一个widget/gui项目,设置都采用默认设置。 然后,打开界面文件,添加一个QListWidget控件,注意调整一下布局。 我们采用两种方法,第一种,在mainwindowcpp的构造函数中,创建QStringList,然后将之添加到ListWidg

用QListWidget和QStackWidget控件完成,QListWiget可以设置每一项的内容,通过信号SIGNAL(currentRowChanged(int))把它和QStackWidget的槽SLOT(setCurrentIndex(int))联系起来。

给出部分代码: ////////////////////////左侧菜单(8)

list = new QListWidget();

list->setAcceptDrops(false);

list->setSpacing(10);

str = QString::fromLocal8Bit("通用设置");

list->addItem(new QListWidgetItem(QIcon(":/images/commonpng"),str));

str = QString::fromLocal8Bit("测温设置");

list->addItem(new QListWidgetItem(QIcon(":/images/tempersetpng"),str));

str = QString::fromLocal8Bit("网络设置");

list->addItem(new QListWidgetItem(QIcon(":/images/commonpng"),str));

str = QString::fromLocal8Bit("SD卡管理");

list->addItem(new QListWidgetItem(QIcon(":/images/sdcardpng"),str));

str = QString::fromLocal8Bit("录像抓图");

list->addItem(new QListWidgetItem(QIcon(":/images/videosnappng"),str));

str = QString::fromLocal8Bit("文件管理");

list->addItem(new QListWidgetItem(QIcon(":/images/filemanagepng"),str));

str = QString::fromLocal8Bit("测温模式");

list->addItem(new QListWidgetItem(QIcon(":/images/testmodepng"),str));

str = QString::fromLocal8Bit("系统维护");

list->addItem(new QListWidgetItem(QIcon(":/images/maintainpng"),str));

list->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

list->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

list->setFrameShape(QFrame::NoFrame);

list->setViewMode(QListWidget::IconMode);

///////////////////////////右侧堆窗口

main_stack = new QStackedWidget();

main_stack->setFrameShape(QFrame::Box);

main_stack->setStyleSheet("QStackedWidget {background-image: url(:/images/titlepng);}");

//[1]通用设置

common = new common_menu(main_stack);

//[2]测温设置

temper_set = new temperature(main_stack);

//[3]网络设置

net_set = new internet(main_stack);

//[4]SD卡管理

sd_manager = new sd_card(main_stack);

//[5]录像抓图

video_snap = new video_manager(main_stack);

//[6]文件管理

file_manager = new manager_file(main_stack);

//[7]测温模式

test_mode = new temper_mode(main_stack);

//[8]系统维护

maintain = new sys_maintain(main_stack);

/////////////////////////////////布局

layout = new QHBoxLayout(this);

layout->setSpacing(0);

layout->addWidget(list);

layout->addWidget(main_stack);

layout->setStretch(0,1);

layout->setStretch(1,4);

layout->addStretch();

connect(list,SIGNAL(currentRowChanged(int)),main_stack,SLOT(setCurrentIndex(int)));

以上就是关于怎么利用qlistwideget设置好友列表全部的内容,包括:怎么利用qlistwideget设置好友列表、QT开发 QListWidget点击返回行号的问题、怎么将listwidget作为treewidget的项等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9719005.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存