大神呀,我这个应用需要无鼠标处理输入界面。
使用到QComboBox时遇到一个问题,popup弹出listview以后,我想实现,按左右键,则关闭当前当前listview,并将焦点传给下一个控件。
不过我最需要的事情,按左右键时,可以将按键事件传给上级的一个Qgroupbox,在QGroupbox里,我重载了KeyPress事件来决定将焦点传给哪个控件。
我继承了一个QListView,
QBaseListView : public QListView
继承了一个QComboBox,
QBaseComboBox : public QComboBox
QBaseListView *listvew = new QBaseListView;
comboBox->setView(listvew);
发现listview可以在按左右键时,收到keyPress事件,而comboBox无法收到keyPress事件。
各位大神,如何解决?
void QBaseListView::keyPressEvent ( QKeyEvent * e )
{
int key = e->key ();
if( key == Qt::Key_Left) {
// QMessageBox::question(this, "aa" , "xxxx", QMessageBox::Yes);
}
QListView::keyPressEvent ( e );
}
void QBaseComboBox::keyPressEvent ( QKeyEvent * e )
{
int key = e->key ();
if( key == Qt::Key_Left) {
QMessageBox::question(this, "aa" , "yyy", QMessageBox::Yes);
}
QComboBox::keyPressEvent ( e );
}