Qt 版本 4.8.1,为 Windows 构建,我正在尝试获取可访问性信息以使我拥有的某些按钮正常工作。
我的主窗口中有一个 QPushButton,它有一个图标,因此:
m_restartBtn = new QPushButton();
QPixmap rpm(":/images/Restart32x32.png");
QIcon ricn(rpm);
m_restartBtn->setIcon(ricn);
m_restartBtn->setIconSize(rpm.rect().size());
// put it in a box in the main layout
QHBoxLayout *buttonBox = new QHBoxLayout;
ui->mainLayout->addLayout(buttonBox);
buttonBox->addWidget(m_restartBtn);
现在该按钮正确显示,如果我连接信号,它可以正常工作。但是当我使用“inspect.exe”(来自 Win 7 SDK)时,我看到该按钮出现了,但没有名称。
如果我使用setText
而不是放入图标,则可访问的名称会正确显示,但当然,我看到的是文本,而不是我的图标。如果我两者都做,那么可访问的名称就可以正常工作,但正如人们所期望的那样,我会在屏幕上看到文本。
我试过只是为了笑setObjectName
,setWindowTitle
他们当然没有用。
是否有正确的方法为仅显示图标的 QPushButton 设置可访问名称?
我的直接目标是远程控制应用程序以实现可访问性。但是我希望这项工作能够同时完成双重职责并让我完全可访问,因此我以后不必为可访问性做单独的努力。