我有一个带有QLabel,QTextEdit和QPushButton的程序。
我想在单击按钮时将LineEdit中的文本放到Label中。
我可以通过创建自己的插槽来实现这一点但是可以使用Qt插槽完成吗?
我已经尝试过这段代码,但它并不是我想要的......
this->connect(pushButton ,SIGNAL(clicked()), lineEdit, SIGNAL(textChanged(QString)), Qt::QueuedConnection);
t->connect(lineEdit, SIGNAL(textChanged(QString)) , label ,SLOT(setText(QString)), Qt::DirectConnection);
答案 0 :(得分:1)
如果您需要强制用户推送QButton以将他/她在QTextEdit中输入的文本“应用”到QLabel,可能您想要检查插入文本的有效性,或者使用文本来实现一些目标或将其存储在变量中供以后使用...所以你需要一个自定义插槽或自定义类。
相反,您可以将信号QTextEdit.textChanged(QString)连接到插槽QLabel.setText(QString),因此所有输入的QTextEdit都会被发送到QLabel,而无需按下按钮。
但一切都取决于你的目标。
答案 1 :(得分:1)
这是我将如何做到的:
connect(ui->pushbutton, SIGNAL(clicked()), this, SLOT(slot_pushbutton_clicked()))
然后在slot_pushbutton_clicked
位置
ui->label->setText(ui->lineEdit->text)
希望有所帮助:)