Новичку нужна помощь, чтобы вставить элемент в QlistWidget - PullRequest
1 голос
/ 03 января 2012

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

Мои коды:

----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()
{

}

1 Ответ

1 голос
/ 03 января 2012

Что-то вроде этих строк должно помочь вам:

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 ()

...