创建插槽:
private slots:
void MySlot(QString text);
在构造函数中textChanged()
连接MySlot()
:
connect(lineedit, &QLineEdit::textChanged, this, &YourWidget::MySlot);
接着
void YourWidget::MySlot(QString text)
{
QRegExp re("\\d*"); // a digit (\d), zero or more times (*)
if (re.exactMatch(text)){
int value = text.toInt();
if(value >= -127 && value<=127)
slider->setValue(value);
}
}
您还可以放置一个 QValidator
lineedit->setValidator( new QIntValidator(-127, 127, this) );
在你的情况下:
void MainWindow::on_lineEditGain_textChanged(const QString &arg1)
{
QRegExp re("\\d*"); // a digit (\d), zero or more times (*)
if (re.exactMatch(arg1)){
int value = arg1.toInt();
if(value >= -127 && value<=127)
ui->slider->setValue(value);
}
}