
两个lineEdit,判断焦点,按键无焦点,在设置linEdit有焦点setFocus才能有效;
参考实例如下:
#include "widgeth"#include "ui_widgeth"
#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才可以判断焦点。
全部重新改了,代码如下
// mainwindowh 头文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
#include <QStatusBar>
#include <QMouseEvent>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget parent = 0);
~MainWindow();
protected:
void mouseMoveEvent(QMouseEvent );
private:
QStatusBar m_pStatus;
};
#endif // MAINWINDOW_H
//mainwindowcpp
#include "mainwindowh"
MainWindow::MainWindow(QWidget parent)
: QMainWindow(parent)
{
setMouseTracking(true);
m_pStatus = new QStatusBar();
setStatusBar(m_pStatus);
m_pStatus->showMessage("application init ok!");
}
void MainWindow::mouseMoveEvent(QMouseEvent event)
{
QPoint pos = event->pos();
m_pStatus->showMessage(QString("x:%1,y:%2")arg(posx())arg(posy()));
}
MainWindow::~MainWindow()
{
}
经过测试,完全ok,唉
通过实现
itemClicked
(QTableWidgetItem
)
信号的槽函数,就可以获得鼠标单击到的单元格指针,获得到了当前的位置信息
connect(tableWidget,SIGNAL(itemDoubleClicked(QTreeWidgetItem,int)),this,
SLOT(
getItem(QTreeWidgetItem,int))
);
通过
QTreeWIdgetltem
你可以获得到你想要的全部数据
假设我有个line edit widget那么,看看是不是这样
QRect widgetRect = ui->lineEdit->geometry();QPoint mousePos = ui->lineEdit->mapFromGlobal(QCursor::pos());
if(widgetRectcontains(mousePos) )
{
//do stuff
}
这个是用什么语言来实现,不同的语言实现的思路差不多,
就是用定位识别函数来识别 x,y而已,
这个要是java的话要好好看看帮助文档了;
你去csdn 或 51cto 求助效率高点;
以上就是关于qt有两个lineedit,如何获取光标所在全部的内容,包括:qt有两个lineedit,如何获取光标所在、我用Qt 画了一个地图,想要在状态栏显示鼠标坐标,我遇到的问题是,坐标不能随mouseMoveEvent函数实时刷新、QT Qtablewidget数组,鼠标双击获取行与列应该怎么实现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)