Skip to content

Commit 7e32bff

Browse files
committed
🧪 test(PyQt6): add support PyQt6
1 parent 2311dfe commit 7e32bff

File tree

5 files changed

+19
-12
lines changed

5 files changed

+19
-12
lines changed

Test/WigglyWidget/LibWigglyWidget/CMakeLists.txt

+7-2
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,19 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
1111
# 配置安装目录
1212
set(CMAKE_INSTALL_DIR "${CMAKE_SOURCE_DIR}/dist")
1313

14+
# 静态库
15+
set(BUILD_SHARED_LIBS OFF)
16+
1417
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
1518
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
1619

17-
add_library(LibWigglyWidget STATIC wigglywidget.cpp wigglywidget.h)
20+
add_library(LibWigglyWidget wigglywidget.cpp wigglywidget.h)
1821

1922
target_link_libraries(LibWigglyWidget PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
2023

21-
target_compile_definitions(LibWigglyWidget PRIVATE LIBWIGGLYWIDGET_LIBRARY)
24+
if(BUILD_SHARED_LIBS)
25+
target_compile_definitions(LibWigglyWidget PRIVATE LIBWIGGLYWIDGET_LIBRARY)
26+
endif()
2227

2328
# 配置生成的文件安装目录
2429
install(

Test/WigglyWidget/LibWigglyWidget/wigglywidget.h

+6-10
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,27 @@
1010
#if defined(WIGGLYWIDGET_LIBRARY)
1111
#define WIGGLYWIDGET_EXPORT Q_DECL_EXPORT
1212
#else
13-
#define WIGGLYWIDGET_EXPORT Q_DECL_IMPORT
13+
#define WIGGLYWIDGET_EXPORT
1414
#endif
1515
#endif
1616

17-
#ifdef Q_OS_WIN
1817
class WIGGLYWIDGET_EXPORT WigglyWidget : public QWidget {
19-
#else
20-
class WigglyWidget : public QWidget {
21-
#endif
2218
Q_OBJECT
2319

24-
public:
20+
public:
2521
WigglyWidget(QWidget *parent = nullptr);
2622

27-
public slots:
23+
public slots:
2824
void setText(const QString &newText);
2925

30-
protected:
26+
protected:
3127
virtual void paintEvent(QPaintEvent *event) override;
3228
virtual void timerEvent(QTimerEvent *event) override;
3329

34-
private:
30+
private:
3531
QBasicTimer timer;
3632
QString text;
3733
int step;
3834
};
3935

40-
#endif // WIGGLYWIDGET_H
36+
#endif // WIGGLYWIDGET_H

Test/WigglyWidget/PyQtWrapper/TestWigglyWidget.py

+3
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,7 @@ def __init__(self, *args, **kwargs):
4242
app = QApplication(sys.argv)
4343
w = TestWigglyWidget()
4444
w.show()
45+
w.resize(800, 600)
46+
if not hasattr(app, "exec_"):
47+
app.exec_ = app.exec
4548
sys.exit(app.exec_())

Test/WigglyWidget/PyQtWrapper/pyproject.toml

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ sip-include-dirs = [
3535
"/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/PyQt5/bindings",
3636
"/usr/local/lib64/python3.6/site-packages/PyQt5/bindings",
3737
"C:/soft/Python311/Lib/site-packages/PyQt5/bindings",
38+
"C:/soft/Python/lib/site-packages/PyQt6/bindings"
3839
]
3940

4041
# Configure the building of the fib bindings.
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
PyQt5
2+
PyQt6
23
sip
34
PyQt5-sip
5+
PyQt6-sip
46
PyQt-builder

0 commit comments

Comments
 (0)