当前位置:编程学习 > wap >>

QT 左右互选框



想做个想上面图片的控件,想问下QT没有类似的控件吗? --------------------编程问答-------------------- 这种你可以自己组合了. --------------------编程问答-------------------- 自己做一个,通过信号槽去连接 --------------------编程问答--------------------
#include "Widget.hpp"
#include "ui_Widget.h"
#include <QDebug>
#include <QModelIndex>
#include <QModelIndexList>
#include <QItemSelectionModel>

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

    connect(ui->moveToLeftButton, SIGNAL(clicked()), this, SLOT(moveToLeft()));
    connect(ui->moveToRightButton, SIGNAL(clicked()), this, SLOT(moveToRight()));
}

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

void Widget::moveToLeft() {
    QModelIndexList indexes = ui->rightListWidget->selectionModel()->selectedRows();

    if (indexes.size() > 0) {
        ui->leftListWidget->addItem(ui->rightListWidget->takeItem(indexes.at(0).row()));
    }
}

void Widget::moveToRight() {
    QModelIndexList indexes = ui->leftListWidget->selectionModel()->selectedRows();

    if (indexes.size() > 0) {
        ui->rightListWidget->addItem(ui->leftListWidget->takeItem(indexes.at(0).row()));
    }
}
--------------------编程问答-------------------- 用webkit多好啊,用js来做这些东西简直就是轻车熟路。 --------------------编程问答--------------------
引用 4 楼 u011325045 的回复:
用webkit多好啊,用js来做这些东西简直就是轻车熟路。

这个也用js? --------------------编程问答--------------------
引用 3 楼 Inhibitory 的回复:

#include "Widget.hpp"
#include "ui_Widget.h"
#include <QDebug>
#include <QModelIndex>
#include <QModelIndexList>
#include <QItemSelectionModel>

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

    connect(ui->moveToLeftButton, SIGNAL(clicked()), this, SLOT(moveToLeft()));
    connect(ui->moveToRightButton, SIGNAL(clicked()), this, SLOT(moveToRight()));
}

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

void Widget::moveToLeft() {
    QModelIndexList indexes = ui->rightListWidget->selectionModel()->selectedRows();

    if (indexes.size() > 0) {
        ui->leftListWidget->addItem(ui->rightListWidget->takeItem(indexes.at(0).row()));
    }
}

void Widget::moveToRight() {
    QModelIndexList indexes = ui->leftListWidget->selectionModel()->selectedRows();

    if (indexes.size() > 0) {
        ui->rightListWidget->addItem(ui->leftListWidget->takeItem(indexes.at(0).row()));
    }
}

好用,谢谢~~~~ --------------------编程问答-------------------- QT例子里面有
补充:移动开发 ,  Qt
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,