|
Downing 发表于 2014-4-15 10:50
当然,有可能不止两个lineEdit,所以最好的方法是把所有lineEdit都安装事件过滤器:
声明 bool eventFil ...
bool Information::eventFilter(QObject *watched, QEvent *event)
{
if (watched==lineedit0) //首先判断控件(这里指 lineEdit1)
{
if (event->type()==QEvent::FocusIn) //然后再判断控件的具体事件
//ui->lineEdit0->setText("xxxxxxx");
connect(ui->p1Button,SIGNAL(clicked()),this,SLOT(p1()));
else if (event->type()==QEvent::FocusOut)
{
}
}
if (watched==lineedit1) //首先判断控件(这里指 lineEdit1)
{
if (event->type()==QEvent::FocusIn) //然后再判断控件的具体事件
//ui->lineEdit1->setText("xxxxxxx");
connect(ui->p1Button,SIGNAL(clicked()),this,SLOT(p2()));
else if (event->type()==QEvent::FocusOut)
{
}
}
}
void p1()
{
ui->lineEdit0->setText("1");
}
void p2()
{
ui->lineEdit1->setText("1");
}
像这样吗
可不可以 直接就是用一个槽函数如:
void p()
{
//这里进行窗口判断 哪个lineEdit获取了焦点
if(lineEdit0)
{
//处理
}
else if(lineEdit1)
{
//处理
}
|
|