公司突然要改一段qt程序,苦于没人干,只好我来碰碰运气了;
现在碰到一个问题:
有一个类的函数:
bool myClass::SetFlag( )
{
if (m_iTranType == PURCHASE)
{
ShowTipMsg("请刷消费卡", 0);
}
else
{
ShowTipMsg("请刷银行卡:", 0);
}
TrackEdit->setReadOnly(false);
TrackEdit->isFocusEnabled();
TrackEdit->setEchoMode(
QLineEdit::Password);
TrackEdit->setValidator(0);
TrackEdit->setText(QString::null);
TrackEdit->setFocus();
if (readtrack() == 0)
do_it();
}
现在的问题是: 当按1键调用这个函数时候, 却是先调用 readtrack(),readtrack()返回后才打印"请刷消费卡"。。 我只会一点C语言,对c++和qt不大懂。。
希望得到大家的帮助,
谢谢!
即使我把readtrack() 那段函数调用注释掉,这下打印了"请刷消费卡"了,但是还没有跳出这个SetFlag函数;是不是有个编辑框在等待着输入,所以没有跳出这个函数??
解决原理:ShowTip()函数作用是在QLabel里显示文字,现在加上了QLabelObj->QWidget::repaint()函数,强制重新绘画QLabelObj。
[ 此贴被xcue在2008-07-08 10:55重新编辑 ]