3
我正在嘗試導航QStackedWidget
項目使用KeyPressEvent
。但我無法做到。什麼信號功能我們應該用於keyPressEvent
?通過QStackedWidget中的鍵盤導航項目
我的代碼:
mywindow::mywindow() : QMainWindow()
{
stack = new QStackedWidget();
list1 = new QListWidget();
list2 = new QListWidget();
list3 = new QListWidget();
list1->addItem("Item 1");
list1->addItem("Item 2");
list2->addItem("Item 3");
list2->addItem("Item 4");
list3->addItem("Item 5");
list3->addItem("Item 6");
stack->addWidget(list1);
stack->addWidget(list2);
stack->addWidget(list3);
setCentralWidget(stack);
}
void mywindow::keyPressEvent(QKeyEvent *event)
{
switch(event->key())
{
case Qt::Key_Left:
connect(stack,SIGNAL(KeyPressEvent(QKeyEvent *event)),stack,SLOT(setCurrentIndex(int)));
break;
case Qt::Key_Right:
connect(stack,SIGNAL(currentRowChanged(int)),stack,SLOT(setCurrentIndex(int)));
break;
}
}
它拋出一個錯誤,因爲:'((mywindow *)this) - > mywindow :: stack'中的成員'setCurrentIndex'的請求,它是非類類型'QStackedWidget * – Rupesh
@ user3153003:因爲您使用過''用於訪問成員而不是' - >',因爲它應該是指針。 – lpapp
是的,我明白了。謝謝 – Rupesh