【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 19

1デフォルトの名無しさん
垢版 |
2019/10/24(木) 13:32:07.93ID:rWKhVVJ5
Qt(キュート)は C++ ベースのフレームワーク&RAD開発環境です。

ライブラリの機能は、フォーム、ボタンなどの各種ウィジェットからネットワーク、マルチスレッド、
グラフィックス(OpenGL)や各種コンテナ、XMLパーサー、組み込み JavaScript など、非常に多岐に渡ります。
公式の統合開発環境「Qt Creator IDE」を使えば、クロスプラットフォーム対応のRAD開発が可能です。
また、EclipseやVisual Studio上で開発したい人のためのアドインも用意されています。

■主な対応プラットフォーム(デスクトップ用途の場合)

Windows XP, Vista, 7
Mac OS X 10.4, 10.5, 10.6
Linux

■ライセンス

・オープンソース版(Open-source version)
 LGPL 2.1 または GPL 3.0 のうちどちらかを利用者が選べます。
 LGPL を選んだ場合はソースコード非公開のままでの商用利用が可能です(いくつか制限あり)。
 ※正確には通常「LGPL+商用利用向きの例外条項」を選ぶことにな7ります(Qtインストール先の「LGPL_EXCEPTION.txt」を参照)。
  ちなみにGPLでも商用利用が不可能というわけではありません、念のため。
・商用版(Commercial version)
 こっちはDigia社か日本の代理店(SRA社)とライセンス契約(年間30万くらい?)を結んで使います

■Qt を使って作られたソフト例

KDE、Maya、Adobe Photoshop Elements、Google Earth、Skype、DAZ Studio
MotionBuilder、RealFlow、Nuke、LuxRender、Mathematica、Kindle、VirtualBox、
RuviEdit、さくさくエディタ など

■前スレ
【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 18
http://mevius.5ch.net/test/read.cgi/tech/1488948543/
2019/11/29(金) 16:29:55.67ID:yQ0DwMtc
>>23
WASMでゲーム開発するのは現状難しいと思うが。
2019/11/29(金) 16:38:46.88ID:yQ0DwMtc
https://www.itmedia.co.jp/news/articles/1804/05/news095.html

2018/04/05
App Storeアプリの減少は、Appleが量よりも品質を優先した結果によるもので
意欲的だとしながらも、iOSアプリからAndroidアプリへの移植が多かったのに
対して、その逆は半分にも満たないと分析している。

現在のApp Storeのアプリ数は約160万、Androidアプリ数は約320万で
クロスプラットフォーム化されているアプリ数は約45万程度に留まっているそうだ。
2019/11/29(金) 16:59:15.19ID:yQ0DwMtc
>>23
PWA+WASM+WebGLの例:
https://yutakaaoki.github.io/demo_Mountain/index.html
https://yutakaaoki.github.io/demo_land_Polygon/index.html
https://yutakaaoki.github.io/demo2/index.html

インディーズゲームでは、この位の3Dを使ったゲームが、
WindowsマシンだけでWindows/Mac/Linux/iOS/Androidの全てに
無料で作れる事は大きい。

最近では、MSのMailソフトのOutlookがPWA化されたらしい。
上記のサイトでは分かりにくいが、WASMの入力に対するレスポンス速度
はGoogle EarthのWASM版で十分速いことが分かった。
2019/11/29(金) 17:34:10.31ID:SXyjQxQR
>>24
iOSはアップル以外のメーカーのアプリはヒープメモリに実行権限をつけられない。
つまりJITコンパイルが動かない。
WASMは基本、JITコンパイルが前提の技術。
2019/11/29(金) 21:06:44.06ID:yQ0DwMtc
>>28
だとすれば、iOSでは ChromeもJavaScriptもnative 的なJITは無効
ということになります。Safariは分かりませんが。
そういえば、聞いた話だと、iOSでPWAをサポートしているのはSafariだけで、
PWA提唱者のGoogleが作ったところのChromeはサポートできていないそうです。
2019/11/29(金) 21:10:26.55ID:yQ0DwMtc
>>28
さっき、Swiftが出したLLVMコードを見ていて気づいたのですが、
実は、Swiftの最終出力はnativeコードであると言っても、実は、
さまざまなチェック・コードを混ぜて生成しているようです。
例えば掛け算するだけでオーバーフローチェックをしています。
普通のC/C++では、そのようなコードを生成しないものなのです。
2019/11/29(金) 21:27:41.76ID:yQ0DwMtc
>>28
iOSでは、Safari 以外のブラウザも、Safariと同様に UIWebView か
WKWebView のどちらかを使うことが強制されているそうで、
WKWebViewの方は、JIT コンパイラが使える、と書いてあります。
詳しくは分かりません。
32デフォルトの名無しさん
垢版 |
2019/11/29(金) 21:38:15.30ID:yQ0DwMtc
https://stackoverflow.com/questions/11259152/chrome-ios-is-it-just-a-uiwebview

As of version 48, Chrome for iOS uses WKWebView, which is the same view used in Safari.
2019/11/29(金) 21:46:21.51ID:yQ0DwMtc
結論を書いておきます。
・iOSでは、Apple以外のベンダーは、ヒープメモリに実行権限を付けられない。
・Apple純正であるところの WKWebViewはアプリとは別プロセスで実行され、
 (メモリに実行権限を付けることができるので)、JITコンパイル機能も持っている。
・iOSでは、Apple以外のベンダーのWebブラウザも、Appleと同じ描画エンジン
 を使わなければならないことになっており、独自エンジンは使用禁止。
・実際、iOS 上の Ver 48 以後の Chrome は、Safari と同じApple 製 WKWebView を
 使用している。
・ということは、iOS 上の Chrome は、ちゃんと JavaScript や WASM でも、
 JIT コンパイル機能によって高速に描画できていると考えられる。
2019/11/29(金) 22:44:37.93ID:6hikfivg
>>30
>例えば掛け算するだけでオーバーフローチェックをしています。
>普通のC/C++では、そのようなコードを生成しないものなのです

16 * 16 ビットは、絶対に、32ビットに納まる!
32 * 32 ビットは、絶対に、64ビットに納まる!

例えば、10進数で考えても、
2 * 2桁は、絶対に、4桁に納まるだろ。
99 * 99 = 9,801

絶対に、掛け算のオーバーフローは起きない!
2019/11/29(金) 23:03:53.77ID:KzrCIvE1
64 * 64 ビットは
2019/11/29(金) 23:09:15.75ID:yQ0DwMtc
>>34
ちなみに、Swift には、&*, &+ という演算子があり、こちらはオーバーフロー
のチェックはしませんが、ほとんどの人が使う *, + はオーバーフローをする
事になっています。
2019/11/29(金) 23:10:02.76ID:yQ0DwMtc
>>36
誤:ほとんどの人が使う *, + はオーバーフローをする事になっています。
正:ほとんどの人が使う *, + はオーバーフローをチェックする事になっています。
2019/11/29(金) 23:48:54.99ID:0NQTLsf7
CやC++は、つまるところ高級アセンブラだからチェックしない(プログラマに任せる)けど、普通の高級言語ならオーバーフローチェックは入れるだろ

念のため書いておくとCやC++を貶してるつもりはない
そういう用途だってだけだし、俺はそれが気に入ってる
3934
垢版 |
2019/11/30(土) 00:10:40.73ID:HbGyzSLF
>>35
64 * 64 ビットは、絶対に、128ビットに納まる!

でも、それを64ビットに納めようとすれば、そりゃ、オーバーフローするよ。
こういう使い方では、まともに整数の掛け算はできない

浮動小数点演算みたいに、切り捨てるとか、誤差ありにしないといけない
2019/12/01(日) 11:38:55.53ID:IheeS71f
>>20
ゲーム用じゃん
41デフォルトの名無しさん
垢版 |
2019/12/02(月) 10:28:27.72ID:9YVAThVA
>>38
コンパイル時に決定出来るんだし型有言語ならOFチェックなんてせんよ
実行時にいちいちチェックしてたらアホすぎる
2019/12/02(月) 17:27:46.81ID:qsBqo50a
>>41
オーバーフロー発生時に例外が発生するかどうかだろ
C#やSwiftは例外投げるようにすることもできる
4319
垢版 |
2019/12/03(火) 14:38:31.68ID:oeLPrfF5
ワイはただ誰かQt for android!ってボケて欲しかっただけなんや(すまんな)
2019/12/13(金) 01:45:08.32ID:4JWrD23u
そんなことよりQt for MCUについて語ろうぜ
2019/12/28(土) 21:31:34.21ID:bzBX1VNb
現状出来ることは殆どないが、新しいQtQuickのグラフィック実装に期待してる
レンダリング機能の改善・改良はこれからどんどんされていくだろうから今のうちに既存技術を学んで応用方法を考えておくわ
2019/12/28(土) 23:36:53.79ID:rmlCZvlX
基本的な質問で悪いんだけど、
QGraphicsViewとどんな感じで違うのかな?
QGraphicsViewはまあ高速なんだけど扱いづらくてね。
2020/01/29(水) 14:18:22.14ID:78TNfSE3
https://www.qt.io/jp/blog/qt-offering-changes-2020
アカウント必須と、オフラインインストーラが使えなくなる
2020/01/29(水) 15:02:23.57ID:Yrzd5mtl
>>47
自分でビルドすればアカウント不要
特に問題はない
2020/01/30(木) 12:21:35.30ID:bmpxlU3T
家で使う分にはアカウント使っていいけどなぁ
2020/02/02(日) 12:33:51.00ID:q2eEA/86
VS のフリー版(Express)が出たから移行しようかな〜
(現在:Express版はもう出しません!)
Qt のオープンソース版が安定してきたから移行しようかな〜
(現在:オフラインインストーラーとLTSは商用のみよ♪)
あう・・・
そりゃ分かるけどさ・・・分かるんだけど
2020/02/02(日) 13:12:30.07ID:q2eEA/86
泣き言言っても仕方ないか・・・
ソースを無償で提供してくれるだけでも有難いんだから、
自分でビルドしてみるわ
(パソコン遅いから何日掛かるか分らんがw)
2020/02/02(日) 13:18:56.17ID:q2eEA/86
そいうえば、MSYS2 でも提供していたか
前に試したときは、オフィシャル版より依存関係が複雑だった気もするが、
MSYS2 で Qt ビルドするなら結局同じだろうし・・・
2020/02/03(月) 12:17:10.51ID:3U8MTWet
個人で作る規模のアプリならNSISで何も困らないし。
スマフォOSならインストーラーという概念すらない。

ちなみに俺はLinuxもMacもインストーラーレスで実行できるパッケージを自動生成するようにQMakeを組んでいる。
2020/02/03(月) 16:11:20.12ID:jGD5+j1d
インストーラがまだ更新されてないな
サインインをスキップできる
変更はいつ実装されるんだろう
2020/02/04(火) 01:53:16.69ID:v5dIbEEw
>>53
macならmacdeployqtつかえばいいじゃん
2020/02/04(火) 09:18:02.56ID:Ae9nrcH4
>>55
当然、それを使って作るわけだが?
ちなみにノウハウらしいノウハウが全然公開されてないから大変だぞ。
2020/02/06(木) 21:44:48.14ID:jxsGhZOk
WSLでディストリ配布のQt使えば Windows でも実行できる
なお配布

Raspberry Pi を含む Linux ネイティブだとフルビルドしてるし
その他向けであっても登録の煩わしさはあるが、Qt を手放すほどの事象ではないしな
2020/02/10(月) 23:24:56.29ID:GQ1tgOBL
フルじゃないけどvcpkgでビルドしろ
2020/02/11(火) 07:35:11.35ID:Frg+1Ub8
フルビルドは時間が掛かるから、qtbase 以外のサブモジュールを
全部向こうにしてビルドし、必要そうなの追加したり
エラーがでるもの省いてビルド出来たわ
正常に動くか不安だが・・・
qtcreator もビルドしてみたけど、qxwidget とかがパレットに表示されない
別途インストールする必要あるのかな?
60デフォルトの名無しさん
垢版 |
2020/02/20(木) 20:58:15.95ID:Ye7fdTWC
何か今度うちの会社でQtでアプリを実装することになったんだけど
使い慣れたVisualStudioでコーディングしようと思ってるのですけど
その場合でもLinux用のバイナリは吐き出せるんですか?
2020/02/20(木) 21:22:29.02ID:vee8eVJi
VisualStudioでコーディングしようとメモ帳でコーディングしようとLinuxバイナリが吐けるツールチェインでビルドすれば問題ない
6260
垢版 |
2020/02/20(木) 22:00:39.51ID:4uZqvWkF
ツールチェインってLinuxの開発では良く聞くけどなーに?
2020/02/20(木) 22:05:09.36ID:n0AjO2gN
ジャッキーチェイン
64デフォルトの名無しさん
垢版 |
2020/02/21(金) 12:59:17.16ID:5cQWFY2c
VisualStudioに慣れてるならC#で良いやん
Monoとかあるんだし
6560
垢版 |
2020/02/21(金) 22:36:40.29ID:dSL2bBQF
会社がもう決めちゃった
LinuxとWindowsで同じアプリ作って、最終的にはスマホからも操作したいんだと
そんなの必要な業務じゃないんだけど

なんか「nVidiaもこの環境で開発できる」って息巻いてた
いやぁ・・・・

俺は仕様策定で逃げられることが決まったから
外注に「あとはよろしく」って言ってさよならかな
2020/02/21(金) 22:36:58.79ID:dSL2bBQF
なので回答は不要です。スレ汚してごめん
2020/02/23(日) 07:15:58.01ID:D+koIiEF
歳がいくつかは知らんが、
若い内から自分で選択肢狭めるような生き方してると
その内選ぶ道がなくなって詰むぞ
2020/02/29(土) 10:18:40.94ID:nXNEtWCj
登録したのに認証メールが来ないw
2020/04/10(金) 07:01:23.11ID:gFbXAlTR
QtのOpen Source関する超うれしい話が出てきたな
https://mail.kde.org/pipermail/kde-community/2020q2/006098.html
70デフォルトの名無しさん
垢版 |
2020/04/10(金) 10:03:42.33ID:nz1tlAhX
coronaに搦める必要あるか?
2020/04/10(金) 12:24:16.02ID:t7fc5syn
いい話ではあるけど結局のところ先行き怪しいのは変わらんのやね
2020/04/11(土) 07:08:42.81ID:cUls8f/E
コロナ菌に関係あるの?
2020/04/11(土) 23:23:13.37ID:cUls8f/E
More Open-Source Participants Are Backing A Possible Fork Of Qt

https://www.phoronix.com/scan.php?page=news_item&;px=More-Interest-Possible-Qt-Fork
2020/04/12(日) 19:43:41.25ID:RCze4Sgk
よく知らんけど、オープンソースコミュニティと仲が悪くなったの?
75デフォルトの名無しさん
垢版 |
2020/04/12(日) 23:18:45.60ID:CSSrj6mJ
そういやQt4からforkしたMOCを使わないライブラリはどうなった?
2020/04/13(月) 00:34:42.81ID:Er/sUT94
>>75
CopperSpice ?
Verdigris ?
77デフォルトの名無しさん
垢版 |
2020/04/13(月) 10:46:18.49ID:xWnIwwwl
77
2020/04/14(火) 16:35:03.71ID:I1ciDNkh
>>74
金払わんやつは12ヶ月遅れでリリースな、で揉めてる。
2020/04/14(火) 16:45:28.52ID:lsSf2H/8
どうなるの…
2020/04/15(水) 13:34:25.51ID:OqOKNGm+
>>78
そんなことしてなんの意味があるんだろう。Qtの新機能や修正が実質遅れるだけじゃん。
OSS版のユーザーの知識が一年遅れるからプルリクエストを送っても古すぎて役に立たなくなる。
2020/04/15(水) 17:00:05.63ID:cY4/1mv9
組込みで使ってるところも口を揃えてQtはライセンス料が高いって言ってるんだけど
The Qt Companyはがめついのか商売が下手なのか
2020/04/15(水) 19:39:01.71ID:eR1/G8h6
なんだかんだ言って組み込みで使える真っ当なGUIフレームワークはQtしかないから、ライセンス料を下げれば一気に普及すると思うんだけどねぇ。商売がヘタ
2020/04/18(土) 20:16:30.44ID:F00pee+U
ソースからコンパイルすれば問題ねぇと思てたら、
パソコン遅くて時間がかかるw
バイナリ配布ってありがたかったんやなぁ
84デフォルトの名無しさん
垢版 |
2020/04/18(土) 23:37:30.06ID:o4L+6pXa
>>82
組込のGUIなんてQtが格安なくらい他がクソ高かったものだが
そもそもニッチな商売だから他が死滅してヨソから見たら高いと感じるのかもしれんが
2020/04/19(日) 00:00:01.31ID:u21QryuH
Windows 10, WSL, Ubuntu 18.04 で、

Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れたけど、

CPU-i3 で、省エネモードでコンパイルしたから、
rubyのコンパイルに、20分ほど掛かった!

i7 で、並列コンパイルすれば、数分で出来るかも
2020/04/19(日) 16:47:37.56ID:4dsSWd/u
>>82
普及させても会社がつぶれては元も子もない。
2020/04/20(月) 03:19:59.87ID:JIq6s09t
QtがGTK、wxWidget、FLTKと比べて対応範囲が広くて人気も高いのは
対価を得ることによるフルタイムで働ける優秀なプログラマを確保できている
経済的サイクルのおかげであり、安くしてそのサイクルが壊れれば
商品の水源が破壊され、商品の品質が下がり、何もかも破綻する。
2020/04/25(土) 15:32:29.77ID:Pngb/gGH
C++でGUIを作るのが間違い
2020/04/25(土) 15:48:24.64ID:Pngb/gGH
組み込みは従来のようにボタンとスイッチやつまみをたくさん付けて液晶には簡単な表示だけしとけばでおk
2020/04/25(土) 19:46:06.97ID:KFbZVtx+
Qt(組み込みlinux)で使ってるが、はまってる。
2020/05/02(土) 08:07:44.42ID:dNXdJ5ZK
qtcreator 自体をビルドしたら、ヘルプが見えない状態だった
ヘルプを見えるようにするにはどうしたらええんや?
2020/05/02(土) 11:01:56.47ID:dNXdJ5ZK
>>91
自己解決したわ
libxml2-2.dll を qtcreator の bin フォルダにぶっこんだら
無事にヘルプが表示されたで
93デフォルトの名無しさん
垢版 |
2020/05/07(木) 10:55:50.10ID:xyO/EXA1
shotcutという動画編集ソフトを使用しているのですが、qt_scale_factorは整数しか使えないのでしょうか?
1.3というような数値だと2として扱われるように見えます
2020/05/10(日) 06:29:49.06ID:MdXjYqca
>>92
安心して今までヘルプを確認していなかったが、昨日確認したら
オフラインインストールした5.12.6のヘルプが表示されてることに気が付いた・・・
(説明していなかったけど、qtcreatorだけじゃなくqt5.12.8もビルドしてたんや)
一応調べたら別途make docsを実行することでヘルプを
ビルド出来ることが分かったけど、docsって自動でビルドされないのか?
それともconfigure時に何か指定しなければならなかったのやろか?
2020/06/12(金) 23:14:32.57ID:5I6maKfm
Qt5.15出たのに話題にならないとは・・・
2020/06/12(金) 23:32:04.69ID:0juPXsBO
5.15はQt6への橋渡しだからな
興味は6よ
97デフォルトの名無しさん
垢版 |
2020/06/16(火) 10:50:14.45ID:ft0Z6DhG
Qt6ってどういう方向に進歩するんだろうか。decraretive widgetsとかやるの?
2020/06/16(火) 11:06:56.47ID:NO1qg5y9
ReactのようなModelからの自動更新機能をJavaScriptに頼らず実現してほしいね。
99デフォルトの名無しさん
垢版 |
2020/06/23(火) 23:41:37.23ID:kovWaTXm
Qt6のバイナリーパッケージの配布が始まったがどんな印象?
2020/06/24(水) 02:53:49.17ID:9VapQj5L
いまさらなんだが・・QTって何て読むんだ?
キュウティー?
101デフォルトの名無しさん
垢版 |
2020/06/24(水) 09:52:27.45ID:4I9Zugsa
>>100
>>1
2020/06/24(水) 09:59:52.43ID:Y4c4n+Ed
Qt5.15にしたらQJsonObjectでkey名に一部を除く2バイト文字を含んだkeyの処理に失敗するようになった
for (QString key : jsonObj.keys())からjsonObj.contains(key)で失敗するってなんだよ
書き込みでも存在しないと認識されるせいで同じ名前のkeyが作られるし
toVariantHashで変換すれば読み書きできるけど既にファイルは壊れちまったよ
103デフォルトの名無しさん
垢版 |
2020/06/24(水) 10:47:03.40ID:6+kkBVmV
2バイト文字ωω
2020/06/24(水) 12:33:56.40ID:yJo1RSUy
JSONのキー名に日本語を使うとか頭おかしいとしか。
2020/06/24(水) 13:28:15.70ID:Y4c4n+Ed
前までは問題なかったしファイル名をキー名にすると楽だったんだもの・・・
106デフォルトの名無しさん
垢版 |
2020/06/24(水) 13:34:26.44ID:6+kkBVmV
漏れなら万一を考えて
ファイル名をバイト列でエンコードしてからキーにする
仮に一バイト文字のファイルであっても
"aaa.txt" というファイルだとしたら
キーのバイト列は "\61\61\61\2e\74\78\74" を与える
107デフォルトの名無しさん
垢版 |
2020/06/24(水) 13:35:26.44ID:6+kkBVmV
すまん最後可笑しかった
キーのバイト列は "6161612e747874" を与える
2020/06/24(水) 14:33:34.04ID:Y4c4n+Ed
>>107
そうやってエンコードしとけばよかったのか
一応ファイル名のままならjson自体を開いても構成がわかりやすいってのもあったんだけど壊れるよりましだね
今度から気をつけるわthx
2020/06/24(水) 14:50:01.15ID:7DLmzV7c
いや、日本語をキーにしても仕様上問題ないだろ
実装がバグってるだけだろ
2020/06/24(水) 15:50:25.60ID:rM4tv+8j
UTF-8 じゃなくて、CP932 を使っているのかも?
111デフォルトの名無しさん
垢版 |
2020/06/24(水) 16:25:29.58ID:OLeI57gB
UTF-8 なら大体 3 バイト文字だしな
112デフォルトの名無しさん
垢版 |
2020/06/24(水) 17:51:21.37ID:B4AJ9uyI
win版Qtcreatorのアプリケーション出力枠もutf-8にしてほしい
113デフォルトの名無しさん
垢版 |
2020/06/24(水) 19:00:56.56ID:JMDGovWD
https://wiki.qt.io/Strings_and_encodings_in_Qt
2020/06/25(木) 23:19:11.68ID:HDoOrRNK
Qt4は扱う文字列を Shift-JIS(CP932) にすることが可能だったのでプログラム先頭で宣言すれば
(Linuxであっても)Shift-JISで統一することができたがQt5はUTF-8決め打ちになった

Windowsで(正確に言うとVisual Studio の toolchain)でUTF-8を扱うには2つの問題がある

1) ソースファイルがShift-JISだと勝手に解釈される
これを解決するには、ソースファイルにUTF-8のBOM(0xEF 0xBB 0xBF)を付ける
他の環境でも(よほど古くなければ)BOMは正しく解釈されるので問題無い

2) 文字列リテラルが勝手にShift-JISに変換される
BOM付きのUTF-8ソースファイルをコンパイルしても、過去の互換性からかShift-JISに変換してから
プログラム中に書き込まれる
これを回避するには、プログラム先頭で以下のpragma を宣言する

#if defined(Q_OS_WIN32)
#pragma execution_character_set("utf-8")
#endif
115デフォルトの名無しさん
垢版 |
2020/06/26(金) 08:10:27.14ID:O2lfWVqP
/utf8オプションつけりゃいいんじゃないの
116デフォルトの名無しさん
垢版 |
2020/06/26(金) 13:06:49.31ID:PjbtVFt+
/source-charset:utf-8 /execution-charset:utf-8
117デフォルトの名無しさん
垢版 |
2020/06/26(金) 13:08:52.73ID:PjbtVFt+
>>116 で BOM も不要
2020/07/04(土) 11:44:18.55ID:TS5b/UER
QMLのSplitViewってハンドル上にカーソル持ってってもカーソルの形が変わらないのって普通?
2020/07/06(月) 07:44:04.78ID:CV9wgtZz
5.15のMSVC2019環境ではカーソル変わるよ
2020/08/30(日) 09:19:37.26ID:vbJSx4vV
Qt6ってオープンソース版の提供は商用版から1年遅れるって話あったけど、
結局どうなったんやろ?
121デフォルトの名無しさん
垢版 |
2020/08/30(日) 14:01:58.32ID:GgAZZaQa
Perl6って結局どうなったんやろ?
2020/09/11(金) 19:47:35.61ID:vL4h/iJU
Qt5.15.1がキターーーーーーッ!!!
2020/09/28(月) 22:00:51.47ID:iMi4NbKw
マルチスレッドで、QThreadの管理用のクラスを作りたくない人向けの書き方考えたんですがどうでしょう
myClassオブジェクトを作ると勝手に別スレッドに移行して、fin()スロットを呼べば元のスレッドに帰ってきます
2020/09/28(月) 22:01:36.75ID:iMi4NbKw
class myClass : public QObject{
Q_OBJECT
private:
 QThread* th;
public:
 myClass();
 virtual ~myClass(){}
pulic slots:
 void fin();
signals:
 void thread_quit();
};

myClass():th(new QThead()){
 connect(
   this,
   &myClass::thread_quit,
   th,
   [&]{ th->quit(); th->wait(); delete th; }
 );
 moveToThread(th);

 // other initializations

 th->start();
}

void myClass::fin(){
 moveToThread(th->thread());
 emit thread_quit();
}
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。