我用QT设计师设计了一个简易的登录界面,其需要密码输入。
用QPushButton和QLineEdit,其中QPushButton我用信号槽机制做了一个函数,
代码如下,除了数字外,其他的代码都差不多:
void login::on_pushButton1_clicked()
{
ui->lineEdit->setText(ui->pushButton1->text());
}
但1-8这些QPushButton的数字在不管我按那个按钮,也不管按多少次,在QLineEdit只会显示一个数字,
不会重复显示。这是什么原因呢?
------解决思路----------------------
因为这样设置lineEdit会把前面的清空,重新设置。
方式一、你先把前面点击的数字先放到QString里面,点击一个追加一个,再设置给LineEdit
方式二、ui->lineEdit->setText(ui->lineEdit->text() + ui->pushButton1->text());
------解决思路----------------------
ui->pushButton1->text() 本身不就只有一个数字么 那你ui->lineEdit->setText不就只set了一个数字了 你要保存的话 那你应该存起来
类变量 QString str;
然后 str+=ui->pushButton1->text(); ui->lineEdit->setText(str);