c++ 我要在QMenu上添加一个QListView控件,然后这个QListView控件里添加多个QAction控件
时间: 2024-01-13 22:05:23 浏览: 87
使用qt designer 在QToolBar中添加QAction
您可以按照以下步骤来实现在QMenu上添加QListView控件,然后在QListView控件中添加多个QAction控件:
1. 创建一个QMenu实例:
```c++
QMenu *menu = new QMenu(this);
```
2. 创建一个QListView实例:
```c++
QListView *listView = new QListView(this);
```
3. 设置QListView的模式为ListMode,以显示多个QAction控件:
```c++
listView->setViewMode(QListView::ListMode);
```
4. 创建多个QAction实例,并且将它们添加到QListView的model中:
```c++
QStandardItemModel *model = new QStandardItemModel(this);
QStandardItem *item1 = new QStandardItem("Action 1");
QStandardItem *item2 = new QStandardItem("Action 2");
QStandardItem *item3 = new QStandardItem("Action 3");
model->appendRow(item1);
model->appendRow(item2);
model->appendRow(item3);
listView->setModel(model);
```
5. 将QListView添加到QMenu中:
```c++
menu->setStyleSheet("QListView::item{height: 30px;}");
menu->setMinimumWidth(120);
menu->addAction(QIcon(":/icon.png"), "Menu", listView);
```
这样,您就可以在QMenu上添加一个QListView控件,并且在QListView控件中添加多个QAction控件了。请注意,您需要根据自己的需求,调整QListView和QAction的样式和大小。
阅读全文