質問編集履歴
9
タイトル変更
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
自作QMLプラグインの内部処理用C++製QMLエレメントをプラグイン利用者から隠したい
|
test
CHANGED
File without changes
|
8
タイトルがわかりずらいので修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Qt Quick
|
1
|
+
[Qt Quick]自作プラグインの内部処理用C++製QMLエレメントをプラグイン利用者から隠したい
|
test
CHANGED
File without changes
|
7
分かりやすくなるよう修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -68,7 +68,7 @@
|
|
68
68
|
|
69
69
|
# 質問の背景
|
70
70
|
|
71
|
-
私は現在[アナログ時計プラグイン(github)](https://github.com/DIODEELEGIA/Qt-Quick-Examples/tree/main/analog%20clock)の作成を行っており
|
71
|
+
私は現在[アナログ時計プラグインを用いたGUIアプリ(github)](https://github.com/DIODEELEGIA/Qt-Quick-Examples/tree/main/analog%20clock)の作成を行っており
|
72
72
|
|
73
73
|
その中のanalog clock/plugins/analog_clockフォルダが
|
74
74
|
|
6
パスの記載のせいで複雑になりすぎているので修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -68,23 +68,31 @@
|
|
68
68
|
|
69
69
|
# 質問の背景
|
70
70
|
|
71
|
-
[アナログ時計プラグイン
|
71
|
+
私は現在[アナログ時計プラグイン(github)](https://github.com/DIODEELEGIA/Qt-Quick-Examples/tree/main/analog%20clock)の作成を行っており
|
72
72
|
|
73
|
-
analog clock/plugins/analog_clock
|
73
|
+
その中のanalog clock/plugins/analog_clockフォルダが
|
74
74
|
|
75
|
+
アナログ時計のプラグイン側となっています
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
プラグイン側のsrc/clock_backend.cppと
|
80
|
+
|
75
|
-
|
81
|
+
include/clock_backend.hppに書いてある
|
76
82
|
|
77
83
|
現在時刻を取得するためのclock_component::ClockBackendクラスを
|
78
84
|
|
79
|
-
|
85
|
+
プラグイン側のsrc/plugin.cpp内で
|
80
86
|
|
81
|
-
上記方法を用いてClockBackendエレメント化してそれを
|
87
|
+
上記方法を用いてClockBackendエレメント化して、それを
|
82
88
|
|
83
|
-
|
89
|
+
プラグイン側のqml/AnalogClock.qml内で利用しているのですが
|
84
90
|
|
85
|
-
そのClockBackendエレメントが
|
91
|
+
そのClockBackendエレメントが
|
86
92
|
|
93
|
+
プラグインを使用する側であるメインウィンドウを記載している
|
94
|
+
|
87
|
-
|
95
|
+
qml/main.qmlからでも使用できてしまいます
|
88
96
|
|
89
97
|
|
90
98
|
|
5
アクセスと云う言葉が誤解を生んでしまうかもしれないので修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Qt Quickの自作プラグイン内
|
1
|
+
Qt Quickの自作プラグインの内部処理用のc++製qmlエレメントをプラグイン利用者が使用できないようにしたい。
|
test
CHANGED
@@ -12,17 +12,19 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
そのプラグイン内でしか使わない処理を行うクラスを
|
15
|
+
そのプラグイン内でしか使わない内部処理を行うクラスを
|
16
16
|
|
17
17
|
この方法でQMLエレメント化した場合
|
18
18
|
|
19
19
|
当プラグインを利用する他のプロジェクトからその
|
20
20
|
|
21
|
-
エレメント
|
21
|
+
内部処理用のエレメントを使用できてしまいます。
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
+
内部処理用のエレメントをプラグイン利用者が使用できない
|
26
|
+
|
25
|
-
|
27
|
+
ようにするにはどうすればよいのでしょうか。
|
26
28
|
|
27
29
|
ご回答よろしくお願いします。
|
28
30
|
|
@@ -80,9 +82,9 @@
|
|
80
82
|
|
81
83
|
analog clock/plugins/analog_clock/AnalogClock.qml内で利用しているのですが
|
82
84
|
|
83
|
-
そのエレメントがメインウィンドウを記載している
|
85
|
+
そのClockBackendエレメントがメインウィンドウを記載している
|
84
86
|
|
85
|
-
analog clock/qml/main.qmlからでも
|
87
|
+
analog clock/qml/main.qmlからでも使用できてしまいます
|
86
88
|
|
87
89
|
|
88
90
|
|
@@ -90,7 +92,7 @@
|
|
90
92
|
|
91
93
|
main.qmlからでもアクセスできてしまうのはまずいと思うので
|
92
94
|
|
93
|
-
|
95
|
+
使用できないようにしたいのですが
|
94
96
|
|
95
97
|
どうすればできるのかわからず
|
96
98
|
|
4
質問の背景をさらに分かりやすくするため追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -82,11 +82,19 @@
|
|
82
82
|
|
83
83
|
そのエレメントがメインウィンドウを記載している
|
84
84
|
|
85
|
-
analog clock/qml/main.qmlからでもアクセスできてしま
|
85
|
+
analog clock/qml/main.qmlからでもアクセスできてしまいます
|
86
86
|
|
87
|
-
どうすればアクセスできないようにできるのかわからず
|
88
87
|
|
88
|
+
|
89
|
+
アナログ時計の内部処理であるClockBackendエレメントが
|
90
|
+
|
91
|
+
main.qmlからでもアクセスできてしまうのはまずいと思うので
|
92
|
+
|
93
|
+
アクセスできないようにしたいのですが
|
94
|
+
|
95
|
+
どうすればできるのかわからず
|
96
|
+
|
89
|
-
詰まってしまっているので御質問させていただきま
|
97
|
+
詰まってしまっているので御質問させていただきました。
|
90
98
|
|
91
99
|
|
92
100
|
|
3
質問の背景を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -64,6 +64,32 @@
|
|
64
64
|
|
65
65
|
|
66
66
|
|
67
|
+
# 質問の背景
|
68
|
+
|
69
|
+
[アナログ時計プラグインの実装(github)](https://github.com/DIODEELEGIA/Qt-Quick-Examples/tree/main/analog%20clock)内で
|
70
|
+
|
71
|
+
analog clock/plugins/analog_clock/src/clock_backend.cppと
|
72
|
+
|
73
|
+
analog clock/plugins/analog_clock/include/clock_backend.hppに書いてある
|
74
|
+
|
75
|
+
現在時刻を取得するためのclock_component::ClockBackendクラスを
|
76
|
+
|
77
|
+
analog clock/plugins/analog_clock/src/plugin.cpp内で
|
78
|
+
|
79
|
+
上記方法を用いてClockBackendエレメント化してそれを
|
80
|
+
|
81
|
+
analog clock/plugins/analog_clock/AnalogClock.qml内で利用しているのですが
|
82
|
+
|
83
|
+
そのエレメントがメインウィンドウを記載している
|
84
|
+
|
85
|
+
analog clock/qml/main.qmlからでもアクセスできてしまうのですが
|
86
|
+
|
87
|
+
どうすればアクセスできないようにできるのかわからず
|
88
|
+
|
89
|
+
詰まってしまっているので御質問させていただきます。
|
90
|
+
|
91
|
+
|
92
|
+
|
67
93
|
# 開発環境の備考
|
68
94
|
|
69
95
|
|ソフトウェア名|種類|バージョン|備考|
|
2
タグの不備修正
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
1
クラス名のTypo修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -36,7 +36,7 @@
|
|
36
36
|
|
37
37
|
|
38
38
|
|
39
|
-
class Plugin
|
39
|
+
class Plugin
|
40
40
|
|
41
41
|
: public QQmlExtensionPlugin
|
42
42
|
|