qt 用mainwindow制作一个点击界面,第一个list view点击数值在第二个list view选择其他数值
时间: 2023-11-19 07:04:59 浏览: 97
您好,首先需要在Qt中创建一个MainWindow窗口,然后向窗口中添加两个QListView控件。下面是一个简单的示例代码:
```cpp
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QListView>
#include <QtWidgets/QListWidget>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr)
: QMainWindow(parent)
{
// 创建两个QListView控件
m_listView1 = new QListView(this);
m_listView2 = new QListWidget(this);
// 将控件添加到窗口中
QVBoxLayout* layout = new QVBoxLayout(this);
layout->addWidget(m_listView1);
layout->addWidget(m_listView2);
QWidget* centralWidget = new QWidget(this);
centralWidget->setLayout(layout);
setCentralWidget(centralWidget);
// 绑定信号和槽函数
connect(m_listView1, SIGNAL(clicked(const QModelIndex&)), this, SLOT(onListView1Clicked(const QModelIndex&)));
}
private slots:
// ListView1被点击时触发
void onListView1Clicked(const QModelIndex& index)
{
// 获取ListView1中被点击的项的数据
QVariant data = index.data();
// 将数据添加到ListView2中
m_listView2->addItem(data.toString());
}
private:
QListView* m_listView1;
QListWidget* m_listView2;
};
```
在这个示例中,我们创建了两个QListView控件,分别为m_listView1和m_listView2。当m_listView1中的项被点击时,会触发onListView1Clicked槽函数,该函数将被点击的项的数据添加到m_listView2中。您可以根据自己的实际需求修改代码以满足您的要求。
阅读全文