如何解决使用 Qt 的 QDialogButtonBox 时,Tab 仅在 macOS 上跳过按钮
我正在运行一个简单的测试程序,它使用 Qt 的 QDialogButtonBox 创建四个按钮。在 Linux 上按预期从一个按钮切换到另一个按钮:所有四个按钮依次获得焦点。
但在使用 Qt 5.15.2 的 macOS 10.13.6 上,Tab 仅在前三个按钮之间移动。但是,Shift-tab 在所有四个按钮之间以相反的方向移动。
我已经尝试给按钮赋予不同的角色值(例如,否、是、接受、拒绝),并且根本没有设置焦点策略,但 Tab 仍然没有访问所有按钮。
这是一个错误,还是一些故意的 macOS 界面奇怪?如果是后者,确保 Tab 访问所有平台上的所有按钮的最佳方法是什么?
#include <QtWidgets>
int main(int argc,char ** argv) {
QApplication app{argc,argv};
QWidget w;
QVBoxLayout layout{&w};
QDialogButtonBox box;
for (auto text : {"button1","button2","button3","button4"})
box.addButton(text,QDialogButtonBox::NoRole)->setFocusPolicy(Qt::StrongFocus);
layout.addWidget(&box);
w.show();
return app.exec();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。