Qt编程:QListWidget与QStackedWidget实战技巧
需积分: 9 7 浏览量
更新于2024-09-17
1
收藏 108KB PDF 举报
本文主要总结了Qt开发中常用的5种控件的使用方法,包括QListWidget和QStackedWidget,旨在分享实践经验,帮助开发者更好地理解和应用这些控件。
在Qt编程中,QListWidget是一种常用的列表控件,用于展示一系列可选择的项目。创建一个新的QListWidget实例可以通过以下代码实现:
```cpp
QListWidget* listwidget = new QListWidget;
```
为了设置listwidget中的item,你可以指定其图标和文本,如下所示:
```cpp
QIcon icon; // 初始化图标
QString name; // 初始化文本
QListWidgetItem* itm = new QListWidgetItem(QIcon(icon), name);
```
将item添加到listwidget有两种方式,一是添加到最后:
```cpp
listwidget->addItem(itm);
```
二是插入到特定位置(例如第一个位置):
```cpp
listwidget->insertItem(0, itm);
```
选中特定行可使用`setCurrentRow()`函数:
```cpp
listwidget->setCurrentRow(int row); // row是你要选中的行号
```
获取当前选中的item索引可以这样操作:
```cpp
QModelIndex curSelItm = listwidget->currentIndex();
```
当listwidget中的item被点击时,可以连接信号和槽来处理:
```cpp
connect(listwidget, SIGNAL(clicked(QModelIndex)), this, SLOT(selectItem(QModelIndex)));
```
调整item的高度可以设定大小提示:
```cpp
QSize size;
size.setHeight(45);
ui->listWidget->item(5)->setSizeHint(size);
```
给当前选中的item设置背景图片:
```cpp
QImage _image("strPath + menu_bg.png"); // 加载图片
listWidget->currentItem()->setBackground(QBrush(_image));
```
另一种常见的控件是QStackedWidget,它用于在多个页面之间进行切换。创建QStackedWidget并添加页面:
```cpp
QStackedWidget* stackedWidget = new QStackedWidget; // 新建一个QStackedWidget实例
stackedWidget->addWidget(QWidget *page); // 添加一个QWidget作为页面
stackedWidget->insertWidget(int index, QWidget *page); // 在特定位置插入一个页面
```
显示特定索引的页面:
```cpp
stackedWidget->setCurrentIndex(int index); // index是你想要显示的页面的索引
```
当QListWidget的当前项发生变化时,可以连接信号和槽来更新QStackedWidget的页面:
```cpp
connect(listWidget, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
this, SLOT(changePage(QListWidgetItem*, QListWidgetItem*)));
```
通过以上的方法,开发者能够熟练地使用QListWidget和QStackedWidget,提高Qt应用的交互性和用户体验。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2018-09-21 上传
2015-11-26 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
crazybigtomato
- 粉丝: 5
- 资源: 2