请问有on_lineEdit_setFocus()这种写法吗

reticentme 2010-02-02 10:14:45
我想做的是鼠标点进第一个lineEdit时为一种输入方式,点到第二个lineEdit时为另外一种输入方式, 即切换焦点时的触发事件, 或者用on_lineEdit_textChanged()可以满足我的要求吗
...全文
142 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
MicroSky2813 2010-02-03
  • 打赏
  • 举报
回复
具体你想实现什么写在那void focusInEvent(QFocusEvent * e)事件里面就行了



#include <QtGui>
#include<QtCore>
class FocusTextEdit :public QTextEdit{
public:
FocusTextEdit(QWidget * parent):QTextEdit(parent){}
void focusInEvent(QFocusEvent * e){
this->setText("Get Focus!");
}

void focusOutEvent(QFocusEvent * e){
this->setText("Lost Focus!");
}
};


int main(int argc, char *argv[])
{
QApplication a(argc, argv);

QWidget *w=new QWidget;
w->setGeometry(100,100,300,100);
FocusTextEdit *fte1=new FocusTextEdit(w);
FocusTextEdit *fte2=new FocusTextEdit(w);
fte1->setGeometry(10,10,100,40);
fte2->setGeometry(110,10,100,40);

w->show();

return a.exec();
}

MicroSky2813 2010-02-03
  • 打赏
  • 举报
回复
可以用event做这样的 得焦点事件 处理,我一会上代码
tingsking18 2010-02-03
  • 打赏
  • 举报
回复
on_lineEdit_textChanged估计是用QtDesigner生成的名字。
buf1024 2010-02-02
  • 打赏
  • 举报
回复
connect(lineEidt, SIGNAL(textEdited(QStrng)...)

如果用Designer设计的UI, 默认已经连接为on_lineEdit_textEidted。

如果用事件实现可重写QWidget里focusInEvent ( QFocusEvent * )或focusOutEvent ( QFocusEvent * )事件,没你所说的on_lineEdit_textChanged()。

16,213

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧