QListWidget常用方法

QListWidget常用方法本文转载自:http://blog.csdn.net/xgbing/article/details/7768226 QListWidget类也是GUI中常用的类,它从QListView下派生:[cpp] viewplaincopyclass Q_GUI_EXPORT QListWidget : public QListView

大家好,又见面了,我是你们的朋友全栈君。

本文转载自:http://blog.csdn.net/xgbing/article/details/7768226  

QListWidget类也是GUI中常用的类,它从QListView下派生:

[cpp] 
view plain
copy

  1. class Q_GUI_EXPORT QListWidget : public QListView  
  2. {  
  3.     Q_OBJECT  

常用方法和属性:

(1)addItem

void addItem ( const QString & label )
void addItem ( QListWidgetItem * item )
void addItems ( const QStringList & labels )

添加一项或多项。

(2)

int count () const

包含隐藏的列表项在内的列表项总数。

(3)currentItem

QListWidgetItem * currentItem () const

返回当前选择的项。

(4)currentRow

int currentRow () const

返回当前选择的项的序号。

(5)insertItem

void insertItem ( int row, QListWidgetItem * item )
void insertItem ( int row, const QString & label )
void insertItems ( int row, const QStringList & labels )

插入新项到列表框。

(6)

QListWidgetItem * item ( int row ) const

返回序号为row处的列表项。

(7)removeItemWidget

void removeItemWidget ( QListWidgetItem * item )

删除指定项item。

(8)selectedItems

QList<QListWidgetItem *> selectedItems () const

返回当前选择的项。

(9)

void setCurrentItem ( QListWidgetItem * item )

设置当前选择的项为item。

(10)

void setCurrentRow ( int row )

设置当前选择项。

(11)

void setSortingEnabled ( bool enable )

设置排序功能是否启用。

(12)

void sortItems ( Qt::SortOrder order = Qt::AscendingOrder )

排序列表框,参数的值可以是:

Qt::AscendingOrder          0                  The items are sorted ascending e.g. starts with ‘AAA’ ends with ‘ZZZ’ in Latin-1 locales
Qt::DescendingOrder       1                  The items are sorted descending e.g. starts with ‘ZZZ’ ends with ‘AAA’ in Latin-1 locales
(13)

QListWidgetItem * QListWidget::takeItem ( int row )

删除一项。

 

示例:

Window.h

[cpp] 
view plain
copy

  1. #ifndef __WINDOW_H__  
  2. #define __WINDOW_H__  
  3.   
  4. #include <QMainWindow>  
  5. #include <QPushButton>  
  6. #include <QLineEdit>  
  7. #include <QLayout>  
  8. #include <QLabel>  
  9. #include <QComboBox>  
  10. #include <QMessageBox>  
  11. #include <QDialog>  
  12. #include <QListWidget>  
  13.   
  14.   
  15. class Window : public QMainWindow  
  16. {  
  17.     Q_OBJECT  
  18.   
  19. public:  
  20.     Window(QWidget *parent = NULL):QMainWindow(parent)  
  21.     {  
  22.           
  23.         listWidget = new QListWidget(this);  
  24.         new QListWidgetItem(tr(“Oak”), listWidget);  
  25.         new QListWidgetItem(tr(“Fir”), listWidget);  
  26.         new QListWidgetItem(tr(“Pine”), listWidget);  
  27.   
  28.           
  29.         QLabel *lbl = new QLabel(tr(“select text:”));  
  30.         edt = new QLineEdit;  
  31.           
  32.         QVBoxLayout *leftLayout = new QVBoxLayout;  
  33.           
  34.         leftLayout->addWidget(listWidget);  
  35.         leftLayout->addWidget(lbl);  
  36.         leftLayout->addWidget(edt);  
  37.   
  38.         //  
  39.         edt_add = new QLineEdit;  
  40.         QPushButton *add_btn = new QPushButton(tr(“Add”));  
  41.         QPushButton *del_btn = new QPushButton(tr(“Del”));  
  42.         QPushButton *quit_btn = new QPushButton(tr(“Quit”));  
  43.   
  44.         QVBoxLayout *rightLayout = new QVBoxLayout;  
  45.         rightLayout->addWidget(edt_add);  
  46.         rightLayout->addWidget(add_btn);  
  47.         rightLayout->addWidget(del_btn);  
  48.         rightLayout->addStretch();  
  49.         rightLayout->addWidget(quit_btn);  
  50.   
  51.         QHBoxLayout *mainLayout = new QHBoxLayout;  
  52.         mainLayout->addLayout(leftLayout);  
  53.         mainLayout->addLayout(rightLayout);  
  54.   
  55.         QWidget *mainWidget = new QWidget;  
  56.         mainWidget->setLayout(mainLayout);  
  57.   
  58.         setCentralWidget(mainWidget);  
  59.   
  60.         connect(listWidget, SIGNAL(itemSelectionChanged()), this, SLOT(itemSelectionChanged ()));  
  61.         connect(add_btn, SIGNAL(clicked()), this, SLOT(on_add()));  
  62.         connect(del_btn, SIGNAL(clicked()), this, SLOT(on_del()));  
  63.         connect(quit_btn, SIGNAL(clicked()), this, SLOT(close()));  
  64.     }  
  65.   
  66. private:  
  67.     QListWidget *listWidget;  
  68.     QLineEdit *edt, *edt_add;  
  69.   
  70. private slots:  
  71.     void itemSelectionChanged()  
  72.     {  
  73.         edt->setText(listWidget->currentItem()->text());  
  74.     }  
  75.   
  76.     void on_add()  
  77.     {  
  78.         listWidget->insertItem(listWidget->currentRow() + 1, edt_add->text());  
  79.     }  
  80.   
  81.     void on_del()  
  82.     {  
  83.         listWidget->takeItem(listWidget->currentRow());  
  84.     }  
  85.   
  86.   
  87. };  
  88.   
  89.   
  90. #endif  

main.cpp

[cpp] 
view plain
copy

  1. #include <QApplication>  
  2. #include <QDialog>  
  3. #include “Window.h”  
  4.   
  5.   
  6.   
  7. int main(int argc, char *argv[])  
  8. {  
  9.     QApplication a(argc, argv);  
  10.     Window *mainWindow = new Window;  
  11.   
  12.   
  13.   
  14.     mainWindow->resize(300, 300);  
  15.     mainWindow->setWindowTitle(QWidget::tr(“Qt Test”));  
  16.     mainWindow->show();  
  17.   
  18.     return a.exec();  
  19. }  

编译运行,界面如下:

QListWidget常用方法

 

QListWidget的项可以是带图片的显示,示例:

[cpp] 
view plain
copy

  1. QListWidgetItem *configButton = new QListWidgetItem(contentsWidget);  
  2. configButton->setIcon(QIcon(“:/images/config.png”));  
  3. configButton->setText(tr(“Configuration”));  
  4. configButton->setTextAlignment(Qt::AlignHCenter);  
  5. configButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);  
  6.   
  7. QListWidgetItem *updateButton = new QListWidgetItem(contentsWidget);  
  8. updateButton->setIcon(QIcon(“:/images/update.png”));  
  9. updateButton->setText(tr(“Update”));  
  10. updateButton->setTextAlignment(Qt::AlignHCenter);  
  11. updateButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);  
  12.   
  13. QListWidgetItem *queryButton = new QListWidgetItem(contentsWidget);  
  14. queryButton->setIcon(QIcon(“:/images/query.png”));  
  15. queryButton->setText(tr(“Query”));  
  16. queryButton->setTextAlignment(Qt::AlignHCenter);  
  17. queryButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);  



如图:

QListWidget常用方法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134914.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月3日 上午9:40
下一篇 2022年5月3日 上午9:40


相关推荐

  • vue使用css变量

    vue使用css变量html 模板 template spanclass red style styleVar click add as jsdata return styleVar colorBlue blue colorRed red fontSize 30px fontSizeTest spanclass red style styleVar click add

    2026年3月17日
    2
  • 万字博文教你python爬虫Beautiful Soup库【详解篇】

    万字博文教你python爬虫Beautiful Soup库【详解篇】相信不少小伙伴们通过我的两篇万字博文的轮番轰炸已经实现了从入坑到会完全学会 requests 库 并且可以独立开发出属于自己的小爬虫项目 爬虫之路 永无止境 第一篇爬虫入坑 一篇万字博文带你入坑爬虫这条不归路 你还在犹豫什么 amp 抓紧上车 熬夜整理 amp 建议收藏 第二篇爬虫库 requests 库详解 两万字博文教你 python 爬虫 requests 库 看完还不会我把我女朋友都给你 熬夜整理 amp 建议收藏

    2026年3月17日
    2
  • 通义千问ComfyUI上线Qwen-Image distilled:消费级显卡即可运行

    通义千问ComfyUI上线Qwen-Image distilled:消费级显卡即可运行

    2026年3月12日
    2
  • LARGE_INTEGER解析和使用

    LARGE_INTEGER解析和使用这里解释前面碰到的LARGE_INTEGER结构。与可能的误解不同,64位数据并非要在64位操作系统下才能使用。在VC中,64位数据的类型为__int64。定义写法如下:     __int64file_offset;     上面之所以定义的变量名为file_offset,是因为文件中的偏移量是一种常见的要使用64位数据的情况。同时,文件的大小也是如此(回忆上一

    2022年7月25日
    18
  • JsonArray转换List

    JsonArray转换List将List转换为JsonArray:AppResponse<List<ProjectVo>>allProject=projectServiceFeign.findAllProject();//转jsonStringtoJSONString=JSON.toJSONString(allProject.getData());//保存到redis中,设置失效时间redisTemplate.opsForValue().set(“projectStr”,toJSONStr

    2022年6月23日
    33
  • PHP中的GetType和SetType

    PHP中的GetType和SetType

    2021年10月15日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号