2012-01-03 2 views
1

Я создал две кнопки (элемент InsertItem и RemoveLast) для QlistWidget, который должен использоваться для отображения списка из 3 элементов (Chair, Table, Mirror). Мне нужна помощь в написании кодов для вставки этих элементов последовательно, а также их удаления.Новичкам нужна помощь для вставки элемента в QlistWidget

Мои коды:

----mainwindow.h--- 

#ifndef MAINWINDOW_H 
#define MAINWINDOW_H 
#include <QMainWindow> 

class QListWidget; 

namespace Ui { 
    class MainWindow; 
} 

class MainWindow : public QMainWindow 
{ 
     Q_OBJECT 

public: 
     explicit MainWindow(QWidget *parent = 0); 
    ~MainWindow(); 

public slots: 
    void insertItem(); 
    void removeItem(); 

private: 
    Ui::MainWindow *ui; 
    }; 

#endif 




---mainwindow.cpp--- 

#include "mainwindow.h" 
#include "ui_mainwindow.h" 

MainWindow::MainWindow(QWidget *parent) : 
QMainWindow(parent), 
ui(new Ui::MainWindow) 
{ 
    ui->setupUi(this); 

connect(ui->pushButton,SIGNAL(clicked()), this,SLOT(insertItem())); 
connect(ui->pushButton_2,SIGNAL(clicked()), this,SLOT(removeItem())); 

} 

MainWindow::~MainWindow() 
{ 
    delete ui; 
} 

void MainWindow::insertItem() 
{ 


} 

void MainWindow::removeItem() 
{ 

} 

ответ

2

Что-то вдоль этих линий должны получить вы собираетесь:

void MainWindow::insertItem() 
{ 
    QListWidgetItem *newItem = new QListWidgetItem(ui->listWidget); 
    // Do stuff with your new item 
} 

void MainWindow::removeItem() 
{ 
    if(ui->listWidget->currentItem()) 
     delete ui->listWidget->currentItem(); 
} 

Для удаления последнего пункта:

delete ui->listWidget->item(ui->listWidget->count() - 1); 

Смотрите также QListWidget::selectedItems()

+0

Спасибо , но как я могу cess последний добавленный предмет. Я хочу, чтобы иметь возможность удалить последний элемент без необходимости его выбора – ArchieTiger

+0

Я обновил ответ, чтобы привести еще один пример. – Chris

Смежные вопросы