2012-01-03 29 views
1

我爲QlistWidget創建了兩個按鈕(InsertItem和RemoveLast項目),它應該用於顯示3個項目(主席,表格,鏡像)的列表。我需要幫助編寫代碼來順序插入這些項目,並將其刪除。新手需要幫助將項目插入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

謝謝,但我怎麼能交流放棄最後添加的項目。我希望能夠刪除最後一個項目而無需選擇它 – ArchieTiger 2012-01-03 22:00:39

+0

我已經更新了答案以給出另一個示例。 – Chris 2012-01-03 23:02:16