qt有两个lineedit,如何获取光标所在
2个回答
2015-08-10
展开全部
两个lineEdit,判断焦点,按键无焦点,在设置linEdit有焦点setFocus才能有效;
参考实例如下:
#include "widget.h"#include "ui_widget.h"
#include <QButtonGroup>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QButtonGroup *m_buGroup = new QButtonGroup(this);//按钮组
ui->pushButton0->setFocusPolicy(Qt::NoFocus);//设置按钮无焦点
ui->pushButton0->setIconSize(QSize(55, 50));
m_buGroup->addButton(ui->pushButton0,1);//添加按钮到QButtonGroup
ui->lineEdit->setFocus();//设置焦点
QObject::connect(m_buGroup, SIGNAL(buttonClicked(int)),this, SLOT(buttonNumslot(int)));
}
void Widget::buttonNumslot(int bn)
{
if(ui->lineEdit->hasFocus())//输入框1焦点
{
ui->lineEdit->insert(QString::number(bn));
}
else if(ui->lineEdit_2->hasFocus())//输入框2焦点
{
ui->lineEdit_2->insert(QString::number(bn));
}
设置按钮无焦点,lineEdit才可以判断焦点。
参考实例如下:
#include "widget.h"#include "ui_widget.h"
#include <QButtonGroup>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QButtonGroup *m_buGroup = new QButtonGroup(this);//按钮组
ui->pushButton0->setFocusPolicy(Qt::NoFocus);//设置按钮无焦点
ui->pushButton0->setIconSize(QSize(55, 50));
m_buGroup->addButton(ui->pushButton0,1);//添加按钮到QButtonGroup
ui->lineEdit->setFocus();//设置焦点
QObject::connect(m_buGroup, SIGNAL(buttonClicked(int)),this, SLOT(buttonNumslot(int)));
}
void Widget::buttonNumslot(int bn)
{
if(ui->lineEdit->hasFocus())//输入框1焦点
{
ui->lineEdit->insert(QString::number(bn));
}
else if(ui->lineEdit_2->hasFocus())//输入框2焦点
{
ui->lineEdit_2->insert(QString::number(bn));
}
设置按钮无焦点,lineEdit才可以判断焦点。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询