Qt:如何制作在每次迭代中等待用户输入的循环
Qt: How do I make loops that wait for user input on each iteration?
我不知道如何让循环等待并使用不同的输入进行迭代。
例如:
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
}
相关文章:
- C++如何通过用户输入删除列表元素
- 如何让用户等待才能再次使用某个功能
- 如何在不让用户等待的情况下管理多个线程
- 确定QProcess是否已完成执行或正在等待用户输入(或响应)
- C++等待用户输入的中断线程
- C 等待用户输入
- Qt:如何制作在每次迭代中等待用户输入的循环
- 使 C++ 不等待用户输入
- Qt等待用户在QGraphicsScene中选择项目
- 等待直到用户在c++中按下enter键
- 强制输入,或更简单的方式为有限的时间等待用户输入
- 如何让c++等待来自QML的用户输入
- 在Linux/Mac上使用c++检测/等待用户登录
- While循环不等待用户输入(而数据类型无效)
- 每次一行显示文本文件,等待用户输入
- 等待用户输入,但打印下一行
- 如何告诉我的程序在等待从用户那里获取命令时执行某些操作
- 如何在等待用户输入int, float或其他类型时拒绝输入char/string
- 用户计时器在第一次使用后出错,无论我等待多长时间都会返回零
- 等待用户 IO 的 C++ 线程 ('getchar()') 在主进程中挂起'Py_Initialize()'