Qt的:我如何作出这样的等待用户输入每个迭代循环?

问题描述 投票:0回答:1

我不知道如何使循环等待,并与不同的输入迭代。

例如:

DO
{
// DO STUFF


}WHILE (Whatever is in lineEdit widget is not 'N') // User picks between Y and N

不过,我似乎无法实现任何方式的do部分结束等待,以便用户可以编辑lineEdit文本内容。

c++ qt qlineedit
1个回答
3
投票

在Qt中,你会做什么。让QApplication的事件循环做它的事。只需连接一个处理槽QLineEdit的的textEdited(const QString & text )信号。

class MyObject : public QObject
{
Q_OBJECT
public:
   MyObject();
   ~MyObject();

private slots:
   void handleUserInput(const QString& text);

private:
   QLineEdit* lineEdit_;
};

MyObject::MyObject()
   : lineEdit_(new QLineEdit)
{
   connect(lineEdit_, SIGNAL(textEdited(const QString&)), 
           this, SLOT(handleUserInput(const QString&)));
}

MyObject::~MyObject()
{
   delete lineEdit_;
}

void MyObject::handleUserInput(const QString& text)
{
   if(text != "desiredText") 
      return;

   // do stuff here when it matches
}
© www.soinside.com 2019 - 2024. All rights reserved.