Qt: 创建List, 添加删除Item
来源:互联网 发布:太空漂浮舱骗局知乎 编辑:程序博客网 时间:2024/06/06 01:24
#ifndef LISTWINDOW_H_
#define LISTWINDOW_H_
#include <QDialog>
class QPushButton;
class QListWidget;
class QWidget;
class ListWindow : public QDialog {
Q_OBJECT
public:
ListWindow(QWidget *parent = 0);
virtual ~ListWindow();
public slots:
void moveLeft();
void moveRight();
private:
QPushButton *moveLeftButton;
QPushButton *moveRightButton;
QListWidget *leftList;
QListWidget *rightList;
};
#endif /**//*LISTWINDOW_H_*/
#define LISTWINDOW_H_
#include <QDialog>
class QPushButton;
class QListWidget;
class QWidget;
class ListWindow : public QDialog {
Q_OBJECT
public:
ListWindow(QWidget *parent = 0);
virtual ~ListWindow();
public slots:
void moveLeft();
void moveRight();
private:
QPushButton *moveLeftButton;
QPushButton *moveRightButton;
QListWidget *leftList;
QListWidget *rightList;
};
#endif /**//*LISTWINDOW_H_*/
#include "ListWindow.h"
#include <QPushButton>
#include <QListWidget>
#include <QWidget>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QGridLayout>
#include <QStringList>
#include <QListWidgetItem>
ListWindow::ListWindow(QWidget *parent) :
QDialog(parent) {
QGridLayout *gridLayout = new QGridLayout();
gridLayout->addWidget(leftList = new QListWidget(), 0, 0, 3, 1);
gridLayout->addWidget(moveLeftButton = new QPushButton("<<"), 0, 1, 1, 1);
gridLayout->addWidget(moveRightButton = new QPushButton(">>"), 1, 1, 1, 1);
gridLayout->addWidget(rightList = new QListWidget(), 0, 2, 3, 1);
QObject::connect(moveLeftButton, SIGNAL(clicked()), this, SLOT(moveLeft()));
QObject::connect(moveRightButton, SIGNAL(clicked()), this, SLOT(moveRight()));
QStringList items;
items << "One" << "Two" << "Three" << "Four" << "Five" << "Sechs"
<< "Sieben" << "One" << "Two" << "Three" << "Four" << "Five"
<< "Sechs" << "Sieben";
leftList->addItems(items);
this->setLayout(gridLayout);
}
ListWindow::~ListWindow() {
}
void ListWindow::moveLeft() {
// if (rightList->currentItem() == 0) {
// return;
// }
//
// QString text = rightList->currentItem()->text();
// delete rightList->currentItem();
// leftList->addItem(text);
// The takeItem() method is used to remove an Item form one list without
// having to delete it. TakeItem() no deleting or no creating, more efficient.
if (rightList->selectedItems().count() != 1) {
return;
}
QListWidgetItem *item = rightList->takeItem(rightList->currentRow());
leftList->addItem(item);
}
void ListWindow::moveRight() {
// if (leftList->currentItem() == 0) {
// return;
// }
//
// QString text = leftList->currentItem()->text();
// delete leftList->currentItem();
// rightList->addItem(text);
if (leftList->selectedItems().count() != 1) {
return;
}
QListWidgetItem *item = leftList->takeItem(leftList->currentRow());
rightList->addItem(item);
}
#include <QPushButton>
#include <QListWidget>
#include <QWidget>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QGridLayout>
#include <QStringList>
#include <QListWidgetItem>
ListWindow::ListWindow(QWidget *parent) :
QDialog(parent) {
QGridLayout *gridLayout = new QGridLayout();
gridLayout->addWidget(leftList = new QListWidget(), 0, 0, 3, 1);
gridLayout->addWidget(moveLeftButton = new QPushButton("<<"), 0, 1, 1, 1);
gridLayout->addWidget(moveRightButton = new QPushButton(">>"), 1, 1, 1, 1);
gridLayout->addWidget(rightList = new QListWidget(), 0, 2, 3, 1);
QObject::connect(moveLeftButton, SIGNAL(clicked()), this, SLOT(moveLeft()));
QObject::connect(moveRightButton, SIGNAL(clicked()), this, SLOT(moveRight()));
QStringList items;
items << "One" << "Two" << "Three" << "Four" << "Five" << "Sechs"
<< "Sieben" << "One" << "Two" << "Three" << "Four" << "Five"
<< "Sechs" << "Sieben";
leftList->addItems(items);
this->setLayout(gridLayout);
}
ListWindow::~ListWindow() {
}
void ListWindow::moveLeft() {
// if (rightList->currentItem() == 0) {
// return;
// }
//
// QString text = rightList->currentItem()->text();
// delete rightList->currentItem();
// leftList->addItem(text);
// The takeItem() method is used to remove an Item form one list without
// having to delete it. TakeItem() no deleting or no creating, more efficient.
if (rightList->selectedItems().count() != 1) {
return;
}
QListWidgetItem *item = rightList->takeItem(rightList->currentRow());
leftList->addItem(item);
}
void ListWindow::moveRight() {
// if (leftList->currentItem() == 0) {
// return;
// }
//
// QString text = leftList->currentItem()->text();
// delete leftList->currentItem();
// rightList->addItem(text);
if (leftList->selectedItems().count() != 1) {
return;
}
QListWidgetItem *item = leftList->takeItem(leftList->currentRow());
rightList->addItem(item);
}
http://www.cppblog.com/biao/archive/2008/03/22/45087.html
- Qt: 创建List, 添加删除Item
- list滑动删除item
- 【QT】Item中添加控件
- list添加删除操作
- List foreach 删除ITEM的方法
- List 遍历的时候删除Item
- Java遍历List的时候删除item
- C# 如何正确删除List中的item
- Python 列表 list 数据类型创建list、添加元素和删除元素
- Qt学习之QListWidget删除Item
- QT QListWidget删除item和插入widget
- Qt学习之QListWidget删除Item
- Qt学习之QListWidget添加Item
- ListView 动态删除添加Item方法
- 给Android ListView添加删除item动画
- 给Android ListView添加删除item动画
- Android-RecyclerView实现Item添加和删除
- 链表创建添加删除
- HTTP响应头拆分/CRLF注入详解
- linux进程管理
- oracle及操作系统对于文件大小的限制
- c++ cast type , static_cast and reinterpret_cast
- strcpy memcpy strcat strcmp memset strlen
- Qt: 创建List, 添加删除Item
- Java连接MYSQL 数据库的连接步骤
- 各种常用设备接口类guid
- bridged_NAT_Host-only的不同
- error while loading shared libraries: xxx.so.x"错误的原因和解决办
- 一行文本中括号的匹配情况
- 基于eclipse python的自动化环境搭建
- Java里没有"引用传递"
- 网管成长必读:巧妙新招管网络