2

我在 Qt 中有一个简单的应用程序,它有一个QMainWindow和一个QWebEngineView加载 html 页面的应用程序。我已经设置了QApplication名称和QMainWindow标题。

app.setApplicationName("FooApp");
window.setWindowTitle("FooApp Window");

当我使用屏幕阅读器时,它会将主窗口标题读取为:

FooApp C:/Users/tulio/Desktop/TestApp//bin/debug/test.exe

我只需要它来读取应用程序名称,我该怎么做?

主文件

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[]) {
  QApplication a(argc, argv);

  a.setApplicationName("FooApp");

  MainWindow w;
  w.setWindowTitle("FooApp Window");
  w.show();

  return a.exec();
}

主窗口.cpp

#include "mainwindow.h"
#include <QLayout>
#include <QApplication>

MainWindow::MainWindow(QWidget *parent)
  : QMainWindow(parent) {
  this->layout()->addWidget(&web_view_);
  this->layout()->setMargin(0);

  this->resize(QSize(1000, 700));

  QString path = QApplication::applicationDirPath() + "/index.html";
  qDebug() << QString("HTML Path %1").arg(path);

  web_view_.page()->setUrl(QUrl::fromLocalFile(path));
  web_view_.resize(this->size());

  channel_.registerObject("Test", &test_);
  web_view_.page()->setWebChannel(&channel_);
}

MainWindow::~MainWindow() {

}

void MainWindow::resizeEvent(QResizeEvent *event) {
  web_view_.resize(event->size());
}

主窗口.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QWebEngineView>
#include <QResizeEvent>
#include <QWebChannel>
#include <QDebug>

class Test : public QObject
{
  Q_OBJECT
public:
  explicit Test(QObject *parent=0) : QObject(parent) {}
  virtual ~Test() {}
};

class MainWindow : public QMainWindow
{
  Q_OBJECT

public:
  MainWindow(QWidget *parent = 0);
  ~MainWindow();
private:
  QWebEngineView web_view_;
  QWebChannel channel_;
  Test test_;
protected:
  void resizeEvent(QResizeEvent *event);
};

#endif // MAINWINDOW_H

teste.pro

QT       += core gui webengine webenginewidgets webchannel

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = teste
TEMPLATE = app

SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

索引.html

<!DOCTYPE html>
<html>
    <body>
        <h1>Hello World!</h1>
    </body>
</html>
4

1 回答 1

0

我认为您需要使用accessDescription : QString accessName : QString,它包含辅助技术访问的描述。

于 2015-11-13T13:12:29.230 回答