qt 焦点捕获_QT 获取菜单焦点__insertItem_QPushButton_setGeometry_焦点_菜单__169IT.COM

本文介绍初学者在QT中遇到的焦点获取和组合键使用问题。通过设置焦点策略,可以使得按钮获得焦点,但菜单无法获取焦点。使用`hasFocus()`可以检查控件的焦点状态。对于组合键的实现,作者提供了相关链接作为参考。
摘要由CSDN通过智能技术生成

大家好,小弟初学qt,有两个问题不太明白,还请大家多多指教!

1. qt如何获取菜单焦点?

2. 如何使用组合键?

对于第一个问题,我可以用以下方法获取按钮焦点,但菜单的不行,代码如下:

//主窗口类

class mymainwindow : public QWidget

{

public:

mymainwindow();

private:

QPopupMenu *file;

QPopupMenu *edit;

QMenuBar *menubar;

QPushButton *pa;

QPushButton *pb;

QPushButton *pc;

QPushButton *pd;

};

/****************************************************************************

【功能说明】调整窗口大小

****************************************************************************/

mymainwindow::mymainwindow()

{

resize(240,320);

file=new QPopupMenu();

file->setGeometry(10,0,20,60);

file->insertItem("Quit",qApp,SLOT(quit()));

file->insertItem("Open");

file->insertItem("Save");

file->insertItem("New");

edit=new QPopupMenu();

edit->setGeometry(30,0,20,60);

edit->insertItem("Cut");

edit->insertItem("Copy");

edit->insertItem("Delete");

edit->insertItem("Paste");

menubar=new QMenuBar(this);

menubar->setGeometry(10,0,40,60);

menubar->insertItem("File",file);

menubar->insertItem("Edit",edit);

pa = new QPushButton( "Quit", this );

pa->setGeometry(70,80,100,60);

pa->setFont( QFont( "Times", 18, QFont::Bold ) );

connect(pa,SIGNAL(clicked()), qApp, SLOT(quit()));

pc = new QPushButton( "button3", this );

pc->setGeometry(70,160,100,60);

pc->setFont( QFont( "Times", 18, QFont::Bold ) );

pd = new QPushButton( "button4", this );

pd->setGeometry(70,240,100,40);

pd->setFont( QFont( "Times", 18, QFont::Bold ) );

setFocusPolicy(QWidget::TabFocus);//通过tab来接收键盘焦点

setFocus();

}

这样,按下tab键,可以选中button按钮,但菜单死活选不中。

对于第二个问题,我想用shift + tab 键实现向上选择按钮,但是不行,键盘插件是自己写的,平台是2440+gpio扫描键盘;

|

1. qt如何获取菜单焦点?

获取菜单焦点?

bool hasFocus () const可以判断每个控件的焦点状况啊

2. 如何使用组合键?

http://cool.worm.blog.163.com/blog/static/6433900620096134614462/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值