繁体   English   中英

C ++ qt:如何将在QlistWidget 1中单击的项目复制/填充到QlistWidget2

[英]C++ qt : How to copy/populate item clicked in QlistWidget 1 to QlistWidget2

QlistWidgetitemClicked信号应由QlistWidget插槽获取。我应该从可用选项中选择哪个插槽?

我想将QlistWidgetitemClicked填充到QlistWidget2。 在此处输入图片说明

mainWindows.cpp如下。 我添加了四个项目(item1,item2,item3,item4)

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

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->listWidget->addItem("Item1");
    ui->listWidget->addItem("Item2");
    ui->listWidget->addItem("Item3");
    ui->listWidget->addItem("Item4");


}

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

main.cpp具有qt生成的默认代码

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

mainwindow.h也具有qt生成的默认代码

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

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

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

a)右键单击listwidget 1->转到插槽-> itemClicked(QListWidgetItem *)-> OK

b)在include下添加到mainwindow.h和mainwindow.cpp

#include <QListWidgetItem>

c)mainwindow.cpp的更新如下

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QListWidgetItem>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->listWidget->addItem("Item1");
    ui->listWidget->addItem("Item2");
    ui->listWidget->addItem("Item3");
}

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

void MainWindow::on_listWidget_itemClicked(QListWidgetItem *item)
{
    ui->listWidget_2->addItem(item->clone());
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM