#qt
#qt
Вопрос:
Как добавить QListView / QListWidget в QGraphicsScene и добавить виджеты в ListView Когда я пытаюсь добавить QLisView в QGraphicsScene, прокрутка мыши влияет на уход со сцены. Я хочу добавить QPushButtons в качестве элементов ListView в QGraphicsScene с эффектом прокрутки мыши. Спасибо.
Комментарии:
1. Как вы пытаетесь добавить
QListView
кQGraphicsScene
? Можете ли вы опубликовать какой-нибудь код?2. @ayoy : Это мой вопрос, как добавить QLsiview в QGraphicsScene. Я до сих пор не имею ни малейшего представления, с чего начать.
Ответ №1:
Как насчет QGraphicsProxyWidget
?
QListView *listView = new QListView;
QGraphicsProxyWidget *proxy = scene.addWidget(listView);
Затем (или до этого) вы можете заполнить список чем угодно. QPushButton
может быть добавлен в список с помощью setIndexWidget()
. Также вы могли бы переосмыслить всю идею наличия QListView
и попробовать QScrollArea
линейный макет, содержащий кнопки. Для организации элементов в области прокрутки потребуется немного больше логики, но она должна быть более легкой, чем QListView
с пользовательскими виджетами.
Ответ №2:
Я поддерживаю ответ выше: ProxyWidget — это ответ.
Вот мой рабочий код, заголовок:
class CenterScreen{
private:
QListWidget* nameListWidget;
QGraphicsProxyWidget* nameProxyWidget;
...
Исходный код C :
void CenterScreen::addListView()
{
QGraphicsScene* scene = ui.centerGraphicsView->scene();
nameListWidget = new QListWidget();
nameProxyWidget = scene->addWidget(nameListWidget);
...
nameProxyWidget->hide(); // you can control your widget as you like