mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2025-07-02 07:15:27 +08:00
qt 6.5.1 original
This commit is contained in:
21
tests/manual/wasm/a11y/basic_widgets/CMakeLists.txt
Normal file
21
tests/manual/wasm/a11y/basic_widgets/CMakeLists.txt
Normal file
@ -0,0 +1,21 @@
|
||||
qt_internal_add_manual_test(a11y_basic_widgets
|
||||
GUI
|
||||
SOURCES
|
||||
tabswidget.cpp
|
||||
tabswidget.h
|
||||
basica11ywidget.h
|
||||
basica11ywidget.cpp
|
||||
main.cpp
|
||||
LIBRARIES
|
||||
Qt::Core
|
||||
Qt::Gui
|
||||
Qt::Widgets
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
TARGET a11y_basic_widgets PRE_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/basic_widgets.html
|
||||
${CMAKE_CURRENT_BINARY_DIR}/basic_widgets.html
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/basic_widgets.html
|
||||
)
|
24
tests/manual/wasm/a11y/basic_widgets/basic_widgets.html
Normal file
24
tests/manual/wasm/a11y/basic_widgets/basic_widgets.html
Normal file
@ -0,0 +1,24 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<script src="a11y_basic_widgets.js" async></script>
|
||||
|
||||
<script>
|
||||
window.onload = async () => {
|
||||
let qt_instance = await createQtAppInstance({
|
||||
qtContainerElements: [document.getElementById("qt_container")],
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Qt Accessibility Tester</H1>
|
||||
<div id="qt_container" style="width:640px; height:640px"></div>
|
||||
</body>
|
||||
|
||||
</html>
|
114
tests/manual/wasm/a11y/basic_widgets/basica11ywidget.cpp
Normal file
114
tests/manual/wasm/a11y/basic_widgets/basica11ywidget.cpp
Normal file
@ -0,0 +1,114 @@
|
||||
// Copyright (C) 2021 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
||||
|
||||
#include "basica11ywidget.h"
|
||||
|
||||
BasicA11yWidget::BasicA11yWidget() :
|
||||
m_toolBar (new QToolBar()),
|
||||
m_layout(new QVBoxLayout),
|
||||
m_tabWidget(new QTabWidget)
|
||||
{
|
||||
createActions();
|
||||
createMenus();
|
||||
createToolBar();
|
||||
m_lblDateTime =new QLabel("Select Chrono Menu for todays date and time.");
|
||||
m_layout->addWidget(m_lblDateTime);
|
||||
m_tabWidget->addTab(new GeneralTab(), ("General Widget"));
|
||||
m_editView =new EditViewTab();
|
||||
m_tabWidget->addTab(m_editView, ("Edit Widget"));
|
||||
m_layout->addWidget(m_tabWidget);
|
||||
|
||||
m_layout->addStretch();
|
||||
|
||||
connect(m_editView, &EditViewTab::connectToToolBar, this,&BasicA11yWidget::connectToolBar);
|
||||
setLayout(m_layout);
|
||||
|
||||
}
|
||||
void BasicA11yWidget::handleButton() {
|
||||
|
||||
QDialog *asmSmplDlg = new QDialog(this);
|
||||
QVBoxLayout *vlayout = new QVBoxLayout(asmSmplDlg);
|
||||
asmSmplDlg->setWindowTitle("WebAssembly Dialog box ");
|
||||
QLabel *label = new QLabel("Accessibility Demo sample application developed in Qt.");
|
||||
QAbstractButton *bExit = new QPushButton("Exit");
|
||||
vlayout->addWidget(label);
|
||||
vlayout->addWidget(bExit);
|
||||
asmSmplDlg->setLayout(vlayout);
|
||||
auto p = asmSmplDlg->palette();
|
||||
p.setColor( asmSmplDlg->backgroundRole(), Qt::gray);
|
||||
asmSmplDlg->setPalette(p);
|
||||
asmSmplDlg->show();
|
||||
asmSmplDlg->connect(bExit, SIGNAL(clicked()), asmSmplDlg, SLOT(close()));
|
||||
}
|
||||
|
||||
void BasicA11yWidget::createToolBar()
|
||||
{
|
||||
m_copyAct = new QAction(tr("&Copy"), this);
|
||||
m_copyAct->setShortcuts(QKeySequence::Copy);
|
||||
|
||||
m_pasteAct = new QAction(tr("&Paste"), this);
|
||||
m_pasteAct->setStatusTip(tr("To paste selected text"));
|
||||
m_pasteAct->setShortcuts(QKeySequence::Paste);
|
||||
|
||||
m_cutAct = new QAction(tr("C&ut"), this);
|
||||
m_cutAct->setShortcuts(QKeySequence::Cut);
|
||||
|
||||
m_toolBar->addAction(m_copyAct);
|
||||
m_toolBar->addAction(m_cutAct);
|
||||
m_toolBar->addAction(m_pasteAct);
|
||||
m_layout->addWidget(m_toolBar);
|
||||
|
||||
}
|
||||
void BasicA11yWidget::connectToolBar()
|
||||
{
|
||||
connect(m_copyAct, &QAction::triggered, m_editView->getTextEdit(), &QPlainTextEdit::copy);
|
||||
connect(m_pasteAct, &QAction::triggered, m_editView->getTextEdit(), &QPlainTextEdit::paste);
|
||||
connect(m_cutAct, &QAction::triggered, m_editView->getTextEdit(), &QPlainTextEdit::cut);
|
||||
}
|
||||
void BasicA11yWidget::createActions()
|
||||
{
|
||||
m_DateAct = new QAction( tr("&Date"), this);
|
||||
m_DateAct->setStatusTip(tr("To tell you todays date."));
|
||||
connect(m_DateAct, &QAction::triggered, this, &BasicA11yWidget::todaysDate);
|
||||
|
||||
m_TimeAct = new QAction(tr("&Time"), this);
|
||||
m_TimeAct->setStatusTip(tr("To tell you current time."));
|
||||
connect(m_TimeAct, &QAction::triggered, this, &BasicA11yWidget::currentTime);
|
||||
|
||||
}
|
||||
void BasicA11yWidget::createMenus()
|
||||
{
|
||||
m_menuBar = new QMenuBar();
|
||||
|
||||
m_TodayMenu = m_menuBar->addMenu(tr("&Chrono"));
|
||||
m_TodayMenu->addAction(m_DateAct);
|
||||
m_TodayMenu->addAction(m_TimeAct);
|
||||
|
||||
m_aboutAct = new QAction(tr("&About"), this);
|
||||
m_aboutAct->setStatusTip(tr("Show the application's About box"));
|
||||
connect(m_aboutAct, &QAction::triggered, this, &BasicA11yWidget::about);
|
||||
|
||||
m_helpMenu = m_menuBar->addMenu(tr("&Help"));
|
||||
m_helpMenu->addAction(m_aboutAct);
|
||||
|
||||
m_layout->setMenuBar(m_menuBar);
|
||||
}
|
||||
|
||||
void BasicA11yWidget::todaysDate()
|
||||
{
|
||||
QDateTime dt=QDateTime::currentDateTime();
|
||||
QString str = "Today's Date:"+ dt.date().toString();
|
||||
m_lblDateTime->setText(str);
|
||||
}
|
||||
|
||||
void BasicA11yWidget::currentTime()
|
||||
{
|
||||
QDateTime dt=QDateTime::currentDateTime();
|
||||
QString str = "Current Time:"+ dt.time().toString();
|
||||
m_lblDateTime->setText(str);
|
||||
}
|
||||
|
||||
void BasicA11yWidget::about()
|
||||
{
|
||||
handleButton();
|
||||
}
|
41
tests/manual/wasm/a11y/basic_widgets/basica11ywidget.h
Normal file
41
tests/manual/wasm/a11y/basic_widgets/basica11ywidget.h
Normal file
@ -0,0 +1,41 @@
|
||||
// Copyright (C) 2021 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
||||
|
||||
#include <QtWidgets>
|
||||
#include "tabswidget.h"
|
||||
|
||||
class BasicA11yWidget: public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
private:
|
||||
QMenu* m_helpMenu = nullptr;
|
||||
QMenu* m_TodayMenu = nullptr;
|
||||
QMenuBar* m_menuBar = nullptr;
|
||||
QToolBar* m_toolBar = nullptr;
|
||||
QLabel* m_lblDateTime = nullptr;
|
||||
QVBoxLayout* m_layout = nullptr ;
|
||||
QTabWidget* m_tabWidget = nullptr;
|
||||
EditViewTab *m_editView = nullptr;
|
||||
|
||||
QAction* m_DateAct = nullptr;
|
||||
QAction* m_TimeAct = nullptr;
|
||||
QAction* m_aboutAct = nullptr;
|
||||
QAction* m_copyAct = nullptr;
|
||||
QAction* m_pasteAct = nullptr;
|
||||
QAction* m_cutAct = nullptr;
|
||||
|
||||
public slots:
|
||||
void connectToolBar();
|
||||
public:
|
||||
BasicA11yWidget() ;
|
||||
void createActions();
|
||||
void createMenus();
|
||||
void createToolBar();
|
||||
|
||||
void todaysDate();
|
||||
void currentTime();
|
||||
void about();
|
||||
QToolBar* getToolbar(){return m_toolBar;}
|
||||
void handleButton();
|
||||
|
||||
};
|
17
tests/manual/wasm/a11y/basic_widgets/main.cpp
Normal file
17
tests/manual/wasm/a11y/basic_widgets/main.cpp
Normal file
@ -0,0 +1,17 @@
|
||||
// Copyright (C) 2022 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
||||
|
||||
#include <QApplication>
|
||||
#include <QtWidgets>
|
||||
#include "basica11ywidget.h"
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
QApplication app(argc, argv);
|
||||
|
||||
BasicA11yWidget a11yWidget;
|
||||
a11yWidget.show();
|
||||
|
||||
return app.exec();
|
||||
}
|
||||
|
63
tests/manual/wasm/a11y/basic_widgets/tabswidget.cpp
Normal file
63
tests/manual/wasm/a11y/basic_widgets/tabswidget.cpp
Normal file
@ -0,0 +1,63 @@
|
||||
// Copyright (C) 2021 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
||||
|
||||
#include "tabswidget.h"
|
||||
|
||||
GeneralTab::GeneralTab(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
QVBoxLayout *layout = new QVBoxLayout();
|
||||
layout->setSizeConstraint(QLayout::SetMaximumSize);
|
||||
|
||||
layout->addWidget(new QLabel("This is a text label"));
|
||||
|
||||
QPushButton *btn = new QPushButton("This is a push button");
|
||||
layout->addWidget(btn);
|
||||
connect(btn, &QPushButton::released, this, [=] () {
|
||||
btn->setText("You clicked me");
|
||||
});
|
||||
|
||||
layout->addWidget(new QCheckBox("This is a check box"));
|
||||
|
||||
layout->addWidget(new QRadioButton("Radio 1"));
|
||||
layout->addWidget(new QRadioButton("Radio 2"));
|
||||
|
||||
QSlider *slider = new QSlider(Qt::Horizontal);
|
||||
slider->setTickInterval(10);
|
||||
slider->setTickPosition(QSlider::TicksAbove);
|
||||
layout->addWidget(slider);
|
||||
|
||||
QSpinBox *spin = new QSpinBox();
|
||||
spin->setValue(10);
|
||||
spin->setSingleStep(1);
|
||||
layout->addWidget(spin);
|
||||
layout->addStretch();
|
||||
|
||||
QScrollBar *scrollBar = new QScrollBar(Qt::Horizontal);
|
||||
scrollBar->setFocusPolicy(Qt::StrongFocus);
|
||||
layout->addWidget(scrollBar);
|
||||
|
||||
setLayout(layout);
|
||||
}
|
||||
|
||||
|
||||
EditViewTab::EditViewTab(QWidget *parent) :
|
||||
QWidget(parent)
|
||||
{
|
||||
QVBoxLayout *layout = new QVBoxLayout();
|
||||
layout->setSizeConstraint(QLayout::SetMaximumSize);
|
||||
textEdit = new QPlainTextEdit();
|
||||
textEdit->setPlaceholderText("Enter Text here");
|
||||
layout->addWidget(textEdit);
|
||||
setLayout(layout);
|
||||
|
||||
}
|
||||
|
||||
void EditViewTab::showEvent( QShowEvent* event ) {
|
||||
if (!b_connected)
|
||||
{
|
||||
emit connectToToolBar();
|
||||
b_connected=true;
|
||||
}
|
||||
QWidget::showEvent( event );
|
||||
}
|
34
tests/manual/wasm/a11y/basic_widgets/tabswidget.h
Normal file
34
tests/manual/wasm/a11y/basic_widgets/tabswidget.h
Normal file
@ -0,0 +1,34 @@
|
||||
// Copyright (C) 2021 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
||||
|
||||
#ifndef TABDIALOG_H
|
||||
#define TABDIALOG_H
|
||||
#include <QTabWidget>
|
||||
#include <QtWidgets>
|
||||
|
||||
class GeneralTab : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
|
||||
explicit GeneralTab(QWidget *parent = nullptr);
|
||||
};
|
||||
|
||||
class EditViewTab : public QWidget
|
||||
{
|
||||
|
||||
Q_OBJECT
|
||||
private:
|
||||
bool b_connected = false;
|
||||
QPlainTextEdit* textEdit =nullptr;
|
||||
QToolBar* m_toolbar= nullptr;
|
||||
public:
|
||||
void showEvent( QShowEvent* event ) ;
|
||||
QPlainTextEdit* getTextEdit(){return textEdit;}
|
||||
explicit EditViewTab( QWidget *parent = nullptr);
|
||||
signals:
|
||||
void connectToToolBar();
|
||||
};
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user