ループを待機させ、別の入力で繰り返す方法がわかりません。
例えば:
DO
{
// DO STUFF
}WHILE (Whatever is in lineEdit widget is not 'N') // User picks between Y and N
ただし、ユーザーがテキストコンテンツdo
を編集できるように、パーツの最後で待機する方法を実装できないようです。lineEdit
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
}