gpt4 book ai didi

c++ - 如何从按钮文本qt中安全地删除

转载 作者:行者123 更新时间:2023-11-30 03:38:58 33 4
gpt4 key购买 nike

我有带 & 的按钮,当我执行 button->text() 时,它返回 '&' 因为它有一个快捷方式,我们有时有超过 2 个 & 的按钮。

这用于自动远程测试。编写测试的人不是程序员,也不知道对象名称。

当在按钮上显示没有额外符号的标签时,QT 如何处理?

可能的解决方案? :

qAbstractButton->text().replace(QRegExp("SomeRegex"), "");

最佳答案

您永远不需要按钮的文本。您很可能使用文本来确定单击了哪个按钮。这是错误的!你应该给按钮合理的对象名称。如果您在 Qt Designer 中设计 UI,它们将已经被赋予名称。如果您自己编写代码,请使用 setObjectName 设置名称。测试工具应检查焦点小部件的名称。

如果名称不是全局唯一的,测试工具也可以使用父小部件的名称,例如

auto widget = qApp->focusWidget();
Q_ASSERT(widget->parent() && widget->parent()->objectName() == "...");
Q_ASSERT(widget->objectName() == "...");

参见 this answer对于使用对象名称和其他方式的编码示例。

关于c++ - 如何从按钮文本qt中安全地删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39149646/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com