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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 用ccproxy + stunnel做个加密代理「建议收藏」

    用ccproxy + stunnel做个加密代理「建议收藏」https://www.stunnel.org/downloads.htmlccproxy+stunnel做个加密http代理和socks5代理目前国内用户无法访问某些国外网站,如http://

    2022年7月3日
    59
  • python操作Windows窗口程序

    python操作Windows窗口程序场景定时获取数据接口数据写入Excel表格,Excel需要被其他程序使用,需要处于开启状态。Pywin32首先,安装一个Pywin32,为python提供访问WindowsAPI的扩展,提供了齐全的windows常量、接口、线程以及COM机制等等。其次,为了方面查找目标窗口的句柄,可以下载一个微软自家的Spy++,这玩意儿满大街都是。有了它,还能很方便的查看窗体的消息。句柄是…

    2022年7月14日
    19
  • 【阅读笔记】数据分析思维:分析方法和业务知识

    【阅读笔记】数据分析思维:分析方法和业务知识这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Mar

    2022年6月7日
    96
  • webstorm2019激活码【中文破解版】

    (webstorm2019激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html23…

    2022年3月29日
    81
  • 去重和简单遍历

    去重和简单遍历去重和简单遍历

    2022年4月24日
    52
  • ribbon自定义负载均衡策略,应用所有服务_dubbo的负载均衡策略

    ribbon自定义负载均衡策略,应用所有服务_dubbo的负载均衡策略Ribbon默认的负载均衡策略默认的有下面几种:我们也可以自定义负载均衡策略:修改springcloud-consumer-dept-80的主启动类:下面开始编写自定义配置类MySelfRule,但这个类不能乱放!官方文档给出警告:这个自定义的类不能放在@ComponentScan所扫描的当前包以及子包下,否则我们自定义的这个配置类就会被所有的Ribbon客户端所共享,也就是我们达…

    2022年10月13日
    3

发表回复

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

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