mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2025-07-05 00:35:27 +08:00
qt 6.5.1 original
This commit is contained in:
16
tests/manual/xembed/qt-client-widget/CMakeLists.txt
Normal file
16
tests/manual/xembed/qt-client-widget/CMakeLists.txt
Normal file
@ -0,0 +1,16 @@
|
||||
# Copyright (C) 2022 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#####################################################################
|
||||
## qt-client-widget Binary:
|
||||
#####################################################################
|
||||
|
||||
qt_internal_add_manual_test(qt-client-widget
|
||||
GUI
|
||||
SOURCES
|
||||
main.cpp
|
||||
window.cpp window.h
|
||||
LIBRARIES
|
||||
Qt::Gui
|
||||
Qt::Widgets
|
||||
)
|
32
tests/manual/xembed/qt-client-widget/main.cpp
Normal file
32
tests/manual/xembed/qt-client-widget/main.cpp
Normal file
@ -0,0 +1,32 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
#include <QApplication>
|
||||
#include <QDebug>
|
||||
#include <QWindow>
|
||||
|
||||
#include "window.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication app(argc, argv);
|
||||
|
||||
QStringList args = app.arguments();
|
||||
|
||||
WId winId = 0;
|
||||
if (args.count() > 1) {
|
||||
bool ok;
|
||||
winId = args[1].toUInt(&ok);
|
||||
Q_ASSERT(ok);
|
||||
}
|
||||
|
||||
Window window;
|
||||
|
||||
QWindow *foreign = QWindow::fromWinId(winId);
|
||||
Q_ASSERT(foreign != 0);
|
||||
|
||||
window.windowHandle()->setParent(foreign);
|
||||
window.show();
|
||||
|
||||
return app.exec();
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
TEMPLATE = app
|
||||
TARGET= qt-client-widget
|
||||
QT += widgets
|
||||
|
||||
SOURCES += \
|
||||
main.cpp \
|
||||
window.cpp
|
||||
HEADERS += \
|
||||
window.h
|
206
tests/manual/xembed/qt-client-widget/window.cpp
Normal file
206
tests/manual/xembed/qt-client-widget/window.cpp
Normal file
@ -0,0 +1,206 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
#include <QtWidgets>
|
||||
|
||||
#include "window.h"
|
||||
|
||||
Window::Window()
|
||||
{
|
||||
setAttribute(Qt::WA_NativeWindow);
|
||||
setAttribute(Qt::WA_DontCreateNativeAncestors);
|
||||
createWinId();
|
||||
|
||||
QGroupBox *echoGroup = new QGroupBox(tr("Echo"));
|
||||
|
||||
QLabel *echoLabel = new QLabel(tr("Mode:"));
|
||||
QComboBox *echoComboBox = new QComboBox;
|
||||
echoComboBox->addItem(tr("Normal"));
|
||||
echoComboBox->addItem(tr("Password"));
|
||||
echoComboBox->addItem(tr("PasswordEchoOnEdit"));
|
||||
echoComboBox->addItem(tr("No Echo"));
|
||||
|
||||
echoLineEdit = new QLineEdit;
|
||||
echoLineEdit->setFocus();
|
||||
|
||||
QGroupBox *validatorGroup = new QGroupBox(tr("Validator"));
|
||||
|
||||
QLabel *validatorLabel = new QLabel(tr("Type:"));
|
||||
QComboBox *validatorComboBox = new QComboBox;
|
||||
validatorComboBox->addItem(tr("No validator"));
|
||||
validatorComboBox->addItem(tr("Integer validator"));
|
||||
validatorComboBox->addItem(tr("Double validator"));
|
||||
|
||||
validatorLineEdit = new QLineEdit;
|
||||
|
||||
QGroupBox *alignmentGroup = new QGroupBox(tr("Alignment"));
|
||||
|
||||
QLabel *alignmentLabel = new QLabel(tr("Type:"));
|
||||
QComboBox *alignmentComboBox = new QComboBox;
|
||||
alignmentComboBox->addItem(tr("Left"));
|
||||
alignmentComboBox->addItem(tr("Centered"));
|
||||
alignmentComboBox->addItem(tr("Right"));
|
||||
|
||||
alignmentLineEdit = new QLineEdit;
|
||||
|
||||
QGroupBox *inputMaskGroup = new QGroupBox(tr("Input mask"));
|
||||
|
||||
QLabel *inputMaskLabel = new QLabel(tr("Type:"));
|
||||
QComboBox *inputMaskComboBox = new QComboBox;
|
||||
inputMaskComboBox->addItem(tr("No mask"));
|
||||
inputMaskComboBox->addItem(tr("Phone number"));
|
||||
inputMaskComboBox->addItem(tr("ISO date"));
|
||||
inputMaskComboBox->addItem(tr("License key"));
|
||||
|
||||
inputMaskLineEdit = new QLineEdit;
|
||||
|
||||
QGroupBox *accessGroup = new QGroupBox(tr("Access"));
|
||||
|
||||
QLabel *accessLabel = new QLabel(tr("Read-only:"));
|
||||
QComboBox *accessComboBox = new QComboBox;
|
||||
accessComboBox->addItem(tr("False"));
|
||||
accessComboBox->addItem(tr("True"));
|
||||
|
||||
accessLineEdit = new QLineEdit;
|
||||
|
||||
QGroupBox *testGroup = new QGroupBox(tr("Test"));
|
||||
|
||||
QLabel *testLabel = new QLabel(tr("Drag and Drop:"));
|
||||
textEdit = new QTextEdit;
|
||||
|
||||
connect(echoComboBox, SIGNAL(activated(int)),
|
||||
this, SLOT(echoChanged(int)));
|
||||
connect(validatorComboBox, SIGNAL(activated(int)),
|
||||
this, SLOT(validatorChanged(int)));
|
||||
connect(alignmentComboBox, SIGNAL(activated(int)),
|
||||
this, SLOT(alignmentChanged(int)));
|
||||
connect(inputMaskComboBox, SIGNAL(activated(int)),
|
||||
this, SLOT(inputMaskChanged(int)));
|
||||
connect(accessComboBox, SIGNAL(activated(int)),
|
||||
this, SLOT(accessChanged(int)));
|
||||
|
||||
QGridLayout *echoLayout = new QGridLayout;
|
||||
echoLayout->addWidget(echoLabel, 0, 0);
|
||||
echoLayout->addWidget(echoComboBox, 0, 1);
|
||||
echoLayout->addWidget(echoLineEdit, 1, 0, 1, 2);
|
||||
echoGroup->setLayout(echoLayout);
|
||||
|
||||
QGridLayout *validatorLayout = new QGridLayout;
|
||||
validatorLayout->addWidget(validatorLabel, 0, 0);
|
||||
validatorLayout->addWidget(validatorComboBox, 0, 1);
|
||||
validatorLayout->addWidget(validatorLineEdit, 1, 0, 1, 2);
|
||||
validatorGroup->setLayout(validatorLayout);
|
||||
|
||||
QGridLayout *alignmentLayout = new QGridLayout;
|
||||
alignmentLayout->addWidget(alignmentLabel, 0, 0);
|
||||
alignmentLayout->addWidget(alignmentComboBox, 0, 1);
|
||||
alignmentLayout->addWidget(alignmentLineEdit, 1, 0, 1, 2);
|
||||
alignmentGroup-> setLayout(alignmentLayout);
|
||||
|
||||
QGridLayout *inputMaskLayout = new QGridLayout;
|
||||
inputMaskLayout->addWidget(inputMaskLabel, 0, 0);
|
||||
inputMaskLayout->addWidget(inputMaskComboBox, 0, 1);
|
||||
inputMaskLayout->addWidget(inputMaskLineEdit, 1, 0, 1, 2);
|
||||
inputMaskGroup->setLayout(inputMaskLayout);
|
||||
|
||||
QGridLayout *accessLayout = new QGridLayout;
|
||||
accessLayout->addWidget(accessLabel, 0, 0);
|
||||
accessLayout->addWidget(accessComboBox, 0, 1);
|
||||
accessLayout->addWidget(accessLineEdit, 1, 0, 1, 2);
|
||||
accessGroup->setLayout(accessLayout);
|
||||
|
||||
QGridLayout *testLayout = new QGridLayout;
|
||||
testLayout->addWidget(testLabel, 0, 0);
|
||||
testLayout->addWidget(textEdit, 1, 0, 1, 2);
|
||||
testGroup->setLayout(testLayout);
|
||||
|
||||
QGridLayout *layout = new QGridLayout;
|
||||
layout->addWidget(echoGroup, 0, 0);
|
||||
layout->addWidget(validatorGroup, 1, 0);
|
||||
layout->addWidget(alignmentGroup, 2, 0);
|
||||
layout->addWidget(inputMaskGroup, 0, 1);
|
||||
layout->addWidget(accessGroup, 1, 1);
|
||||
layout->addWidget(testGroup, 2, 1);
|
||||
setLayout(layout);
|
||||
|
||||
setWindowTitle(tr("Line Edits"));
|
||||
}
|
||||
|
||||
void Window::echoChanged(int index)
|
||||
{
|
||||
switch (index) {
|
||||
case 0:
|
||||
echoLineEdit->setEchoMode(QLineEdit::Normal);
|
||||
break;
|
||||
case 1:
|
||||
echoLineEdit->setEchoMode(QLineEdit::Password);
|
||||
break;
|
||||
case 2:
|
||||
echoLineEdit->setEchoMode(QLineEdit::PasswordEchoOnEdit);
|
||||
break;
|
||||
case 3:
|
||||
echoLineEdit->setEchoMode(QLineEdit::NoEcho);
|
||||
}
|
||||
}
|
||||
|
||||
void Window::validatorChanged(int index)
|
||||
{
|
||||
switch (index) {
|
||||
case 0:
|
||||
validatorLineEdit->setValidator(0);
|
||||
break;
|
||||
case 1:
|
||||
validatorLineEdit->setValidator(new QIntValidator(
|
||||
validatorLineEdit));
|
||||
break;
|
||||
case 2:
|
||||
validatorLineEdit->setValidator(new QDoubleValidator(-999.0,
|
||||
999.0, 2, validatorLineEdit));
|
||||
}
|
||||
|
||||
validatorLineEdit->clear();
|
||||
}
|
||||
|
||||
void Window::alignmentChanged(int index)
|
||||
{
|
||||
switch (index) {
|
||||
case 0:
|
||||
alignmentLineEdit->setAlignment(Qt::AlignLeft);
|
||||
break;
|
||||
case 1:
|
||||
alignmentLineEdit->setAlignment(Qt::AlignCenter);
|
||||
break;
|
||||
case 2:
|
||||
alignmentLineEdit->setAlignment(Qt::AlignRight);
|
||||
}
|
||||
}
|
||||
|
||||
void Window::inputMaskChanged(int index)
|
||||
{
|
||||
switch (index) {
|
||||
case 0:
|
||||
inputMaskLineEdit->setInputMask("");
|
||||
break;
|
||||
case 1:
|
||||
inputMaskLineEdit->setInputMask("+99 99 99 99 99;_");
|
||||
break;
|
||||
case 2:
|
||||
inputMaskLineEdit->setInputMask("0000-00-00");
|
||||
inputMaskLineEdit->setText("00000000");
|
||||
inputMaskLineEdit->setCursorPosition(0);
|
||||
break;
|
||||
case 3:
|
||||
inputMaskLineEdit->setInputMask(">AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#");
|
||||
}
|
||||
}
|
||||
|
||||
void Window::accessChanged(int index)
|
||||
{
|
||||
switch (index) {
|
||||
case 0:
|
||||
accessLineEdit->setReadOnly(false);
|
||||
break;
|
||||
case 1:
|
||||
accessLineEdit->setReadOnly(true);
|
||||
}
|
||||
}
|
38
tests/manual/xembed/qt-client-widget/window.h
Normal file
38
tests/manual/xembed/qt-client-widget/window.h
Normal file
@ -0,0 +1,38 @@
|
||||
// Copyright (C) 2017 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
#ifndef WINDOW_H
|
||||
#define WINDOW_H
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QComboBox;
|
||||
class QLineEdit;
|
||||
class QTextEdit;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
class Window : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
Window();
|
||||
|
||||
public slots:
|
||||
void echoChanged(int);
|
||||
void validatorChanged(int);
|
||||
void alignmentChanged(int);
|
||||
void inputMaskChanged(int);
|
||||
void accessChanged(int);
|
||||
|
||||
private:
|
||||
QLineEdit *echoLineEdit;
|
||||
QLineEdit *validatorLineEdit;
|
||||
QLineEdit *alignmentLineEdit;
|
||||
QLineEdit *inputMaskLineEdit;
|
||||
QLineEdit *accessLineEdit;
|
||||
QTextEdit *textEdit;
|
||||
};
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user