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常用方法

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python处理fasta文件_fast ai forum

    python处理fasta文件_fast ai forumPython之fastai:fastai库的简介、安装、使用方法之详细攻略目录fastai库的简介fastai库的安装fastai库的使用方法1、计算机视觉分类2、计算机视觉分割fastai库的简介Fastai使用现代最佳实践简化了快速和准确的神经网络训练。fastai是一个深度学习库,它为从业者提供高级组件,可以快速轻松地在标准深度学习领域提供最先进的结果,并为研究人员提供可以混合和匹配构建的低级组件新方法。它旨在做到这两件事…

  • 毫无头绪的自学Python,你可能连门槛都摸不到![通俗易懂]

    毫无头绪的自学Python,你可能连门槛都摸不到![通俗易懂]目前的IT行业发展日趋迅猛,IT产业的产值成倍增长,不少人都打算从零基础开始学习python。对于零基础的初学者来说,最迷茫的是不知道怎样开始学习?那这里小编为大家规划了一条零基础自学必看pyth

  • 绘图软件Origin新手使用教程「建议收藏」

    绘图软件Origin新手使用教程「建议收藏」*写在前面:本文为便于博主自己学习进行的摘录整理,由于经过实际软件操作验证,故投稿原创,主要来源为知乎*绘图软件Origin使用教程一、新手绘制新图(1)创建新图1.新建图2.文字输入3.绘制箭头4.新建图表选择(2)绘图实例讲解1.创建工程2.将数据导入book3.创建空的graph,设置画布尺寸4.添加坐标系,设置坐标系的位置与尺寸5.添加图线6.设置坐标轴格式7.设置图的标题8.设置图线的格式9.设置并添加图例10.导出图片二、导入数据(1)支持导入的数据格式1.主要介绍2.导入数据3.数据格式转

  • python用vscode还是pycharm_VS5个小时探戈

    python用vscode还是pycharm_VS5个小时探戈点击“开发者技术前线”,选择“星标????”在看|星标|留言,真爱作者|SohaibAhmad译者|鹿未来,责编|屠敏也许是我有些落伍,或者也是因为JetBrains…

  • MAC上IDEA Intellij 卸载

    MAC上IDEA Intellij 卸载23456cd /Applications/rm -rIntelliJ\IDEA\14.app/rm -r /Users/sunlu/Library/Logs/IntelliJIdea14/rm -r /Users/sunlu/Library/Preferences/IntelliJIdea14/rm -r /Users/sunlu/Library/Application\Support/…

  • 对计算机专业来说学历真的重要吗?

    对计算机专业来说学历真的重要吗?我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。目录:张雪峰讲述的事实 我看到的事实 为什么会这样…

发表回复

您的电子邮箱地址不会被公开。

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