想实现这样一个功能:
一个QLineEdit与QPushButton控件,按下后者后,会调用一个函数,判断QLineEdit的内容是否合法,如果合法,继续往下走,如果不合法,弹出一个警告
对话框,进行提示。并且在对话框被关闭后:全选QLineEdit的内容,以方便用户修改QLineEdit的内容。
伪码如下:
//foo将会在QPushButton被按下后被调用
void MainWindows::foo()
{
if ( !isOK( line->text() ) ) {
QMessageBox::critical(0, qApp->tr("Error"),
qApp->tr("balabalabala!\n"
"Click Cancel to exit."),
QMessageBox::Cancel);
line->selectAll();
return;
}
//正常情况代码。。。。
....
}
但是事实上不work,运行的时候line的内容
没有被选择。
请问怎么回事?怎么样才能实现我的需求?
补充下:如果把弹出的QMessageBox注释掉,则不会出现该
问题了
[ 此帖被hgl2073在2011-02-15 21:15重新编辑 ]