0

ループを待機させ、別の入力で繰り返す方法がわかりません。

例えば:

DO
{
// DO STUFF


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

ただし、ユーザーがテキストコンテンツdoを編集できるように、パーツの最後で待機する方法を実装できないようです。lineEdit

4

1 に答える 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
}
于 2012-05-15T23:36:16.960 に答える