【发布时间】:2022-01-27 20:53:41
【问题描述】:
我正在使用 Visual Studio 2022 和 C++ QT 5.14.2。
我使用 QT Designer 设置了 PushButton 和 LineEdit,并给了它们一些初始属性。但是我在按钮单击信号槽功能中遇到了问题,这是我的代码:
void SocketChat::on_connectButton_clicked() {
appendMessage(ui.connectButton->text()); // output button's text
if (ui.addrEdit->isEnabled() && ui.portEdit->isEnabled()) {
// disabled
ui.addrEdit->setEnabled(false);
ui.connectButton->setText(QStringLiteral("Disconnect"));
appendMessage(ui.connectButton->text()); // output button's text
}
if (ui.addrEdit->isEnabled() && !ui.portEdit->isEnabled()) {
ui_notification->setText(QStringLiteral("Please stop listening."));
}
if (!ui.addrEdit->isEnabled() && ui.portEdit->isEnabled()) {
// enabled
ui.addrEdit->setEnabled(true);
ui.connectButton->setText(QStringLiteral("Connect"));
}
}
按钮的文字在QT Designer中分配给'Connect',功能完成后,按钮的文字仍然是'Connect'。
appendMessage函数每次点击输出两个字:
连接 断开连接
点击功能正常工作,但按钮的文本已在此功能中成功更改。但是功能完成后,一切都恢复了。按钮的文本仍然是“连接”。我试过repaint() 和update(),它们无法工作。
如何更改小部件的属性?似乎这些属性一旦更改就无法初始化。
【问题讨论】:
标签: c++ visual-studio qt properties