/*QListWidgetItem**/ pLwiTcpClientContainer = new QListWidgetItem(); //pLwiTcpClientContainer->setSizeHint **/ pLwiTcpServerContainer = new QListWidgetItem(); //pLwiTcpServerContainer->setSizeHint(QSize(400 **/ pLwiUdpClientContainer = new QListWidgetItem(); //pLwiUdpClientContainer->setSizeHint(QSize(400 *)), this, SLOT(OnLwContainerItemClicked(QListWidgetItem*))); connect(pLwContainer->verticalScrollBar * item = new QListWidgetItem(); item->setSizeHint(QSize(240, 160)); pLwPartition->addItem(item); pLwPartition
项目(QListWidgetItem)可以在它们之间拖放复制。 ? 代码如下: import sys from PyQt5.QtWidgets import QWidget, QApplication, QListWidget, QHBoxLayout,\ QListWidgetItem iconList = ["英短", "布偶", "折耳", "波斯", "缅因", "森林"] for i in iconList: listWidget.addItem(QListWidgetItem
(new QListWidgetItem(QIcon(":/Netscape.png"), tr("Netscape")));listWidget->addItem(new QListWidgetItem QListWidget中可以添加QListWidgetItem类型作为列表项,QListWidgetItem即可以有文本,也可以有图标。 该参数有两个合法值:QListWidgetItem::Type(默认)和QListWidgetItem::UserType。 QListWidget中可以添加QListWidgetItem类型作为列表项,QListWidgetItem即可以有文本,也可以有图标。 该参数有两个合法值:QListWidgetItem::Type(默认)和QListWidgetItem::UserType。
2.常用API void addItem(const QString &label) //添加一项标签 void addItem(QListWidgetItem *item) //添加一项item void insertItem(int row, QListWidgetItem *item) //在row行后添加一项item QListWidgetItem * item(int row) //在row行的项 setAlternatingRowColors(bool) //设置是否开启交替颜色显示 以下信号都会常用signals: void currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous) //当前项改变发出信号 void currentRowChanged(int currentRow) //当前行改变发出信号 ) //点击项时发出信号 void itemDoubleClicked(QListWidgetItem *item) //双击发出信号 void itemEntered(QListWidgetItem
*current, QListWidgetItem *previous); 先在给ListWidget控件添加一些元素 MyElementsView::MyElementsView(QWidget * (QListWidgetItem *current, QListWidgetItem *previous) { if(current==Q_NULLPTR)return; if(previous =Q_NULLPTR) { QListWidgetItem * item = ui->lvWid_Source->takeItem(ui->lvWid_Source->currentRow 完整代码如下 .h #ifndef MYELEMENTSVIEW_H #define MYELEMENTSVIEW_H #include <QDialog> #include<QListWidgetItem *current, QListWidgetItem *previous) { if(current==Q_NULLPTR)return; if(previous!
ListWidget 节点初始化: 节点的初始化就是向widget组件内插入一个QListWidgetItem类。 // 初始化列表 listWidget// By: LySharkvoid MainWindow::on_pushButton_clicked(){ // 每一行是一个QListWidgetItem QListWidgetItem *aItem; // 设置ICON的图标 QIcon aIcon; aIcon.addFile(":/image/1.ico"); ui- // listWidget 当前选中项发生变化// By: LySharkvoid MainWindow::on_listWidget_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous){ QString str; if (current !
给QListWidgetItem条目的具体内容为一个窗口小部件,比如:一个控件或者多个控件的界面 该函数要跟addItem(QListWidgetItem *item)一起使用,是给指定的条目设置一个 widget 关于QListWidgetItem类的构造函数形式: 参数 QListWidgetItem(const QIcon &icon, const QString &text, QListWidget // 创建条目QListWidgetItem ---- 条目只带文本 QListWidgetItem* item = new QListWidgetItem("条目五"); ui->listWidget ->addItem(item); //情景四 显示一个QListWidgetItem---- 条目是一个QWidget //[1]创建条目QListWidgetItem QListWidgetItem --- 条目带文本和图片 QListWidgetItem* iocnitem = new QListWidgetItem(QIcon(":/image/cpp.png"),"main.cpp");
* newItem = new QListWidgetItem QListWidget中可以添加QListWidgetItem类型作为列表项,QListWidgetItem即可以有文本,也可以有图标。 如果你仔细查阅QListWidgetItem的构造函数,会发现有一个默认的type参数。 该参数有两个合法值:QListWidgetItem::Type(默认)和QListWidgetItem::UserType。 如果我们继承QListWidgetItem,可以设置该参数,作为我们子类的一种区别,以便能够在QListWidget区别处理不同子类。
一、在列表中显示目录,界面添加显示目录的按钮,对象名称为showDirButton: image.png 二、引入头文件 #include <QWidgetItem> #include <QListWidgetItem *); //双击列表中的项 void doubleClickedSlot(QListWidgetItem *); 五、实现槽函数: //显示目录 void MainWindow::showDirSlot *item = new QListWidgetItem; item->setText(fileNames.at(index)); ui->listWidgetShowView *)),this,SLOT(singleClickedSlot(QListWidgetItem *))); this->connect(ui->listWidgetShowView,SIGNAL (itemDoubleClicked(QListWidgetItem*)),this,SLOT(doubleClickedSlot(QListWidgetItem *))); 七、在构造函数中加入初始化列表显示模式
testscrollbar.cpp TestScrollBar::TestScrollBar(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); QListWidgetItem * temp; for (int i = 0; i < 100; i++) { temp = new QListWidgetItem(); temp->setText("zhangzhongke setText(QString::number(v)); } // 更新ListWidget中的内容,插入新数据到最后 void TestScrollBar::onReachedBottom() { QListWidgetItem int startRow = ui.listWidget->count(); for (int i = startRow; i < startRow+5; i++) { temp = new QListWidgetItem
: ///显示当前目录下的文件夹和文件 void showCurrentDirFiles(); ///显示鼠标双击的列表里的文件夹下的文件 void showNextDirFiles(QListWidgetItem void showNextPicture(); ///自动播放 void autoPlayPicture(); ///鼠标点击列表时显示 void playCurrentItem(QListWidgetItem *tmpItem = new QListWidgetItem(pFileName); if(tmpInfo.isDir()) tmpItem->setIcon(*getItemPropertyIcon *)),this,SLOT(showNextDirFiles(QListWidgetItem*))); ///显示图片槽函数 connect(ui.pushButton_lastPicture *)),this,SLOT(playCurrentItem(QListWidgetItem*))); ///自动播放 connect(this->timer,SIGNAL(timeout())
ListWidget 节点初始化: 节点的初始化就是向widget组件内插入一个QListWidgetItem类。 QListWidgetItem *aItem; // 设置ICON的图标 QIcon aIcon; aIcon.addFile(":/image/1.ico"); // listWidget 当前选中项发生变化 // By: LyShark void MainWindow::on_listWidget_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous) { QString str; if (current ! // By: LyShark void MainWindow::on_pushButton_4_clicked() { int x,cnt; QListWidgetItem *aItem
由于ItemWidget继承QWidget和QListWidgetItem,于是就有了以下操作: /* 添加一项元素到QListWidget中 */ ItemWidget *itemWidget = new 源码 #include <QPushButton> #include <QListWidget> #include <QListWidgetItem> #include <QHBoxLayout> #include <QLabel> class ItemWidget : public QWidget, public QListWidgetItem { Q_OBJECT public: ItemWidget QPushButton(QStringLiteral("添加")); addButton->setStyleSheet(button_qss.arg("#1ABC9C")); QListWidgetItem *item = new QListWidgetItem(this); item->setSizeHint(QSize(width(), 50)); this->insertItem
示例如下: QListWidgetItem *ite = new QListWidgetItem; ite->setText(QString::fromLocal8Bit("杭州")); ui.listWidget QListWidgetItem* ite = ui.listWidget->takeItem(ui.listWidget->currentRow()); if (ite ! QListWIdget信号 1.void itemChanged(QListWidgetItem * item); //项的内容被改变发出信号. 2.void itemClicked(QListWidgetItem QListWidget使用内部模型来管理列表中的每个QListWidgetItem。想要有更灵活的列表视图,请使用具有标准模型的QListView类。 QlistWidget设置图标 只需要简单的设置即可,QListWidgetItem提供了setIcon()函数来实现。
: ///显示当前目录下的文件夹和文件 void showCurrentDirFiles(); ///显示鼠标双击的列表里的文件夹下的文件 void showNextDirFiles(QListWidgetItem 2.QListWidgetItem 这个类可以自己看一下官方文档,什么时候用,怎么用。 引用原话: The QListWidgetItem class provides an item for use with the QListWidget item view class. 03 方法实现 *)),this,SLOT(showNextDirFiles(QListWidgetItem*))); 第二个connect没什么好说的,就是鼠标双击之后的显示函数。 04 各个方法实现 void FileBrower::showNextDirFiles(QListWidgetItem *item) { ///获取鼠标双击的文件名字 QString strName
* item ),也就是说 addItem 参数只接受 QString 和 QListWidgetItem,如果要添加自定义的 widget,那么就要把 QListWidgetItem 和 QWidget 创建 QListWidgetItem,父类为 QListWidget,可以理解为一个空的 item 3. 把 QListWidgetItem 添加到 QListWidget中:QListWidget.addItem(QListWidgetItem) 4. 创建 自定义的 QWidget 5. 把 QListWidgetItem 的 sizeHint 设置为 QWidget 的 sizeHint(如果不设置,看不到 QWidget) 6. 关联 QListWidgetItem 和 QWidget:QListWidget.setItemWidget(QListWidgetItem, QWidget) 运行结果: ?
每个项目可以包含一个图标和文本,可以使用 QListWidgetItem 类来表示。 创建 QListWidgetItem: 对于每个循环,通过 new QListWidgetItem() 创建了一个新的 QListWidgetItem 对象 aItem。 // 初始化列表 void MainWindow::on_pushButton_init_clicked() { // 每一行是一个QListWidgetItem QListWidgetItem 创建新的 QListWidgetItem: 使用 new QListWidgetItem("新增的项目") 创建一个新的 QListWidgetItem 对象,设置了文本为 "新增的项目"。 创建新的 QListWidgetItem: 使用 new QListWidgetItem("插入的数据") 创建一个新的 QListWidgetItem 对象,设置了文本为 "插入的数据"。
/*创建QListWidget*/ QListWidget *listWidget = new QListWidget; /*添加条目*/ listWidget->addItem(new QListWidgetItem (QIcon(QObject::tr(":/image/0.ico")), QObject::tr("条目1"))); listWidget->addItem(new QListWidgetItem( QIcon(QObject::tr(":/image/1.ico")), QObject::tr("条目2"))); listWidget->addItem(new QListWidgetItem(QIcon
QListWidgetItem可以被单独的创建,然后再使用列表的addItem方法添加。 item.setIcon(some_QIcon) 同样也可以在构造器中写明文本或图标: item = QListWidgetItem('A Text-Only Item') item = QListWidgetItem 最重要的是currentItemChanged信号,它是当用户改变选择的项目时发出;它连接的槽接收两个参数,current和previous,表示现在和之前选择的QListWidgetItem项。 对QIcon的注解 你可以通过添加一个图标来改变QListWidgetItem,所以有必要了解一下QIcon了。 每一个文件名,我们创建一个以列表为其parent的QListWidgetItem,并将其文件名设置成本文,用图片创建的QIcon设置其图标。
QScroller::grabGesture(view,QScroller::LeftMouseButtonGesture); 装载列表数据 for (int i = 0; i < 10; i++) { QListWidgetItem *item = new QListWidgetItem(QString::number(i)); /* 设置文字居中 */ item->setTextAlignment(Qt::AlignCenter view,QScroller::LeftMouseButtonGesture); /* 装载数据 */ for (int i = 0; i < 10; i++) { QListWidgetItem *item = new QListWidgetItem(QString::number(i)); /* 设置文字居中 */ item->setTextAlignment