我正在尝试使用QlineEdit
。
当我运行程序时,如何将值输入到编辑栏中,并将该值存储为变量以供稍后使用。到目前为止,我只知道如何使用
输入文本void parameter_settings::on_lineEdit_textEdited(const QString &arg1)
{
ui->lineEdit->setText("");
}
我有一个GUI,要求用户输入特定范围内的值。该值将存储为变量以供以后使用。我已阅读有关验证器的信息但无法按预期工作。
答案 0 :(得分:5)
我不完全确定您的问题是什么,但您可以使用命令text()
从QLineEdit获取输入:
QString input = ui->lineEdit->text();
并使用以下输入整数:
int integer_value = ui->lineEdit->text().toInt();
正如您提到的验证器:您可以使用验证器来允许用户首先仅将整数插入QLineEdit。有不同的但我通常喜欢使用' RegEx'验证。在这种情况下:
QRegExpValidator* rxv = new QRegExpValidator(QRegExp("\\d*"), this); // only pos
QRegExpValidator* rxv = new QRegExpValidator(QRegExp("[+-]?\\d*"), this); // pos and neg
ui->lineEdit->setValidator(rxv);
注意:正如Pratham的评论中所提到的,如果您只需要输入整数,那么您应该使用QSpinBox
来完成所有这些开箱即用的操作。附带额外的手柄容易增加和减少价值。