qt有两个lineedit,如何获取光标所在

2024年11月30日 00:50
有2个网友回答
网友(1):

两个lineEdit,判断焦点,按键无焦点,在设置linEdit有焦点setFocus才能有效;
参考实例如下:
#include "widget.h"#include "ui_widget.h"
#include

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才可以判断焦点。

网友(2):

lineedit->setFocus(),使用这个函数就可以啦