X



【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 18©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net
垢版 |
2017/03/08(水) 13:49:03.39ID:jMX+hATM
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 総合スレ 17
http://echo.2ch.net/test/read.cgi/tech/1438593408/
0556デフォルトの名無しさん
垢版 |
2018/02/13(火) 20:37:01.09ID:yygcbIZh
一先ず

QListViewを派生して、 QListView::dataChanged を public から call できるようにして、
modelからの emit の代替にすることにしました。

次点としては
QListView->viewport()->update() を 適時call でも いけそうです。


嵌っていた点は、クロススレッド で emit(というか signal?) が 保証されてない点でした。
真っ当に対応するなら、クロススレッドの橋渡しを実装なのでしょうが、
スレッドまわりが理解できておらず厳しいです。


ひとまず納得できました。
お付き合いしてくださった皆様ありがとうございました。


>>555
> modelはデータをオンメモリで全部保つ必要はない。
これが、ちょっと気になったのですが、
全部登録しないと件数(というかスクロールバー)が不整合状態になりませんかね?
0557デフォルトの名無しさん
垢版 |
2018/02/14(水) 08:36:26.70ID:mDeN+3Ew
>>556
QListViewやQTreeViewはダミーノードに対する子要素のかたちで全体の要素数を指定することになるが、
そのときに全件相当する数値を返すだけだからオンメモリでデータを持つ必要はない。
0558デフォルトの名無しさん
垢版 |
2018/02/14(水) 08:42:35.90ID:mDeN+3Ew
>嵌っていた点は、クロススレッド で emit(というか signal?) が 保証されてない点でした。
あと、こういうときはQFuture/QFutureWatcherを使おう。
まともにマルチスレッドを手作りするのは馬鹿らしい。
0559デフォルトの名無しさん
垢版 |
2018/02/14(水) 21:53:44.05ID:kMB7mzYE
invokeMethod を使用することで thread 越えできました。

auto index = item->index();
//emit item->model()->dataChanged(index, index);
auto arg = Q_ARG(QModelIndex, index);
QMetaObject::invokeMethod(item->model(), "dataChanged", arg, arg);

これで、model 側から view をcallする必要がなくなりました。

>>558
> QFutureWatcher
document をざっと見た感じ、thread の進捗管理関連しか分かりませんでした。
もう少しヒントになりそうなワードないでしょうか?
0560デフォルトの名無しさん
垢版 |
2018/02/15(木) 07:15:15.69ID:0Fgr05vi
invokeMethod を使用することで thread 越え
これFAQだけど禁止されてなかった?
0561デフォルトの名無しさん
垢版 |
2018/02/15(木) 18:09:43.55ID:dbyCEeSz
QtConcurrent::Run()でworkerに仕事させるのが基本。
それから

1. 戻り値のQFutureをコレクションに蓄えてあとで使う
2. QFutureWatcherに設定してSIGNALを発行してもらう

のどちらかで処理するのがQt流。
[2]の場合はQFutureWatcherはコピーコンストラクタがないので
何かのオブジェクトにメンバ変数としてぶら下げる必要がある。
0563デフォルトの名無しさん
垢版 |
2018/02/16(金) 20:38:11.85ID:9ip8gpus
タッチパネルでTsLibを使ってるんだが
QMLでMouseAreaのonPressedは呼ばれるけど
onReleaseやonCanceledが呼ばれないことが稀にある。
Butttonも同じで押しっぱなしになることが。
TsLibの問題なのかよくわからないけど対処法は無いの?
0564デフォルトの名無しさん
垢版 |
2018/02/17(土) 00:06:21.28ID:Br03dODR
Linuxなら/dev/event 当たりを観察して調べたらいいんでないの?

ピュアQtでWindows/Linuxでタッチパネル対応やってるけど今のところ致命的な不具合はない。
強いていうとダブルフィンガーのスライドの検出の精度が不十分で
指一本と判定される場合が結構ある。
0565デフォルトの名無しさん
垢版 |
2018/02/17(土) 06:30:14.43ID:pJmyuaHt
改めて聞かれると微妙なのでもう一度確認は必要だけど
input/eventは必ずReleaseまで出てるように見えていたと思うが
Qtを通さずダイレクトに監視した場合なので
Qtがイベントを取りこぼすことがあるのかと。
0566デフォルトの名無しさん
垢版 |
2018/02/17(土) 21:42:31.50ID:RLPdE+TN
QML を触る人はドライバ寄りの知識が浅い

というあるある偏見発動中


まぁオレも似たような状況でEvent 拾って試してるうちに、
素のXで試したりして横方向への理解は深まったけども
0572デフォルトの名無しさん
垢版 |
2018/02/18(日) 17:51:31.63ID:PVAcL0Ml
タイトルからしてつまんなそうというか
興味がなさ過ぎて見る気も起きない
0574デフォルトの名無しさん
垢版 |
2018/02/18(日) 19:16:47.39ID:PVAcL0Ml
存在すら知らないしダウンタウンそれほど好きでもないから
最初からどうでもいい
0578デフォルトの名無しさん
垢版 |
2018/02/20(火) 09:04:18.88ID:S6h+U1wA
QMLはスクリプトだからさっと書いて動かせるのがいいところだけど、
やっぱコンパイルしてネイティブコードにしないと実行すると遅いよね。
0580デフォルトの名無しさん
垢版 |
2018/02/20(火) 14:08:49.82ID:m1vPUru+
スクリプトならpyqtが最近便利だね。pythonのguiでは一番使われているんじゃない?
0581デフォルトの名無しさん
垢版 |
2018/02/21(水) 01:42:27.96ID:v9qdJhXI
>>580
QMLはスクリプトだと言ってもUIしか作れない、
何かちゃんとしようとしたらC++で書かなくてはいけないので、
pyqtの方が格段に優れている。
0585デフォルトの名無しさん
垢版 |
2018/02/23(金) 08:12:44.61ID:k3NzOHVM
PythonによるQtは一時期触ってたんだけど、
結局手続き的にUIを構築していかないといけないから
Qt Creator のuiデザイナーとか使えないし、
逆に不便に感じるんだよな。
0590デフォルトの名無しさん
垢版 |
2018/03/07(水) 18:28:24.64ID:+QP4e8dk
5.10でqt3d.animationてのが入ったみたいでとてもきになるのでインストールしてみたんだけど
サンプルないよね?
俺のインストールの仕方が間違ってる?
0592590
垢版 |
2018/03/07(水) 19:24:09.72ID:zJez9JR/
>>591
すみません、
Qtをインストールするとサンプルも入っているのは知っています。
qt3d.animationのサンプルないよね?の意味でした
0594デフォルトの名無しさん
垢版 |
2018/03/08(木) 19:39:16.52ID:AmaTEsz5
???@???
fluxやってからQtやると、シグナル飛んで、それ契機にコントロール更新されて、それでまたシグナル飛んで、その時に順序によってはスロットの要求する仮定崩れるから、メソッド呼び出す順序を注意深く並び替えて、みたいな昔ながらのGUIでありがちなやつが、辛くてもうね
1:45 - 2018年3月7日


☝ほんとコレ(´・_・`)
0595デフォルトの名無しさん
垢版 |
2018/03/08(木) 20:45:30.69ID:1mUrpcQ4
昔ながらのGUIでありがちなも何も、
昔ながらのGUIツールキットだからねQtは。

何を勘違いしてるのか知らんけど。
0596デフォルトの名無しさん
垢版 |
2018/03/08(木) 21:52:18.96ID:nDMS9MSk
セマフオとか多用しまくってるのかな?

一連のシーケンスを機能単位でモジュールに分けて
Signal/Slotはその橋渡し程度でしか使ってないからそんな苦労してないな
0597デフォルトの名無しさん
垢版 |
2018/03/09(金) 02:06:59.41ID:WOzFt6bJ
Windows7、visualstudio 2017 community がインストール済みの状況で
最新のqt creatorとQt5.10.1をインストールしたのですが
MSVCのコンパイラが自動検出されません。

MinGWではなくMSVCを使いたいので検出させたいのですが
ググっても全く情報が得られず、どうしたら検出できるのでしょうか?
0598デフォルトの名無しさん
垢版 |
2018/03/10(土) 10:30:51.36ID:TTti/WSS
OKとか適用ボタン押されるまで変化させなければ良いだけ
0600デフォルトの名無しさん
垢版 |
2018/03/10(土) 11:00:52.27ID:TTti/WSS
mingwでやれない理由は?
0601597
垢版 |
2018/03/10(土) 11:19:52.24ID:GdjJcFTg
>>597
???
>>600
すでにMSVCで作っていたDirect3Dを使ったプログラムをQtCreatorで開発したいため

>>599
VSのパスでしょうか?
cmd開いてcl.exeなどとしても実行できないですが設定が間違っているのでしょうか?

VSもQtもインストールしたあと環境変数の編集などはしていませんでしたが必要なのでしょうか。
0603597
垢版 |
2018/03/10(土) 12:02:58.47ID:GdjJcFTg
>>602
すみません、スタートメニューにショートカットがあるのは存じているのですが
ここからどうすればよいかわかりません。
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat x86
を実行してからQtCreator.exeを起動しても相変わらず検出されません。

Visualstudio2017からフォルダ構成が変わったみたいなのでVisualStudio2015もインストールしてみたのですが
コンパイラを検出できませんでした。
0605デフォルトの名無しさん
垢版 |
2018/03/10(土) 12:41:56.05ID:TTti/WSS
>Visualstudio2017からフォルダ構成が変わったみたいなのでVisualStudio2015もインストールしてみたのですが

さらに面倒くさくさせてどうする
0606597
垢版 |
2018/03/10(土) 12:54:31.26ID:zkqZPBTf
qt forumみたところ今のqt creatorはqtcreator自体のビルドはしなくても自動検出は働くようになってるみたいです
ttps://forum.qt.io/topic/78962/how-to-use-qt-with-visual-studio-2017
qtcreator再インストールは最新とpreview版を何度か試したのですが
アンインストールしても設定が残っているみたいなので
ホームディレクトリ\appdata以下のファイルが悪さしているのかと思い、qt関係のファイルを削除したり再起動したり
試したのですが
全く変わらず…
0608デフォルトの名無しさん
垢版 |
2018/03/10(土) 13:20:55.38ID:TTti/WSS
>>606
VMとかでいいからクリーンなPCで試せよ
既に環境ボロボロに壊してる感じだから
0609597
垢版 |
2018/03/10(土) 13:42:17.01ID:zkqZPBTf
>>607
手動設定も一度試して、上手く行きそうだったのですが、
できれば自動検出されたコンパイル設定で安心して開発したいです。
わがまま言ってすみません

>>608
os再インストールするっきゃない感じがして来ました
0611デフォルトの名無しさん
垢版 |
2018/03/10(土) 21:33:51.31ID:R2CA6CC/
>>609
自動検出がされたりされなかったりするのはずっと前からのことで
ときどき設定したのも消えてしまう、もう諦めて手動設定している
0613デフォルトの名無しさん
垢版 |
2018/03/11(日) 07:22:56.39ID:hFKS7szZ
>>612
検知してる箇所?こういうの追っかけてみるのもQt理解するのに有用かもな
Qt-Creator自体がQtの活きた実装例だから
0616デフォルトの名無しさん
垢版 |
2018/03/13(火) 15:15:56.21ID:dnN0Msfj
1. 見たくないのにそこらじゅうで見せびらかされてる。
2. 見てないのにたまたま似ていただけでも疑われ、変な噂を立てれる。
3. 潔白を証明したいなら、リバースエンジニアリングを許可しろと言ってくる。
4. (言いたくないが)、処女検査やレイプ被害者の苦しみみたいなことが生じる。
5. そんなに真似されたくないなら最初から見えるようにしなければいいのに、勝手に
  見えるようにしておいて、はっきり言って迷惑。
0617デフォルトの名無しさん
垢版 |
2018/03/13(火) 16:00:23.97ID:fHWXAUXC
自動検出に拘るの何でだ?
0620デフォルトの名無しさん
垢版 |
2018/03/13(火) 23:53:45.12ID:B2LAHy9H
他のフォントと比べたら分かるけど、
Source Code Proってかなり行間のあるフォントだぞ?
0621デフォルトの名無しさん
垢版 |
2018/03/14(水) 00:46:29.64ID:utngbHuR
>>620
すみません。Source Code Proは使ってないです。
というか、qt creatorの行間は普通でした。

VSCODEやAndroidStudioやLinux版QtCreatorがちょっとだけ
行間広くてそれがあまりにも自分にあっていたので
QtCreatorのほうがわざと詰めてるのかと勘違いしました。
0622デフォルトの名無しさん
垢版 |
2018/03/14(水) 01:06:11.33ID:Y7LD3iVR
SailFIsh OSって使っているひといる?
iOS/Androidとの違いを教えてくれたらうれしい
0623621
垢版 |
2018/03/14(水) 02:16:10.14ID:utngbHuR
QtCreatorで行間を広くしたかった件ですが、
Rounded M+というフォントをインストールして
QtCreatorのフォント選択で「Rounded M+ 1m」を選択、
フォントサイズを10ptにした後、拡大率を105%にすることで満足の行く見た目になりました。

ttps://imgur.com/gnLGHxe

Windowsにはよくあることなのですが
アンチエイリアスやClearTypeでもなくならなかったギザギザが
拡大率を中途半端に105%と設定すると消えました。
0625デフォルトの名無しさん
垢版 |
2018/03/15(木) 19:13:14.09ID:V2e3zBtM
Windowsにあるというか、WindowsのTTFは中にビットマップフォントが入ってるから、
10ptとか12ptとか、よく使われる解像度はビットマップが優先して使われる。
そういうビットマップは視認性を優先してアンチエイリアスはオミットされることがある。
0630デフォルトの名無しさん
垢版 |
2018/03/17(土) 08:25:26.50ID:sIKOxZd2
>>624
読んで無くても、
 「読んだだろ、嘘つき、潔白を証明したいならソース見せろ」
と脅してくる。
0631デフォルトの名無しさん
垢版 |
2018/03/17(土) 10:31:21.08ID:wH8S1aPq
>>630
だから何だ?って話だな
どんな世界にもいちゃもん付ける人は一定割合存在するわけでそれが嫌なら社会との接触を絶つ他無い
0633デフォルトの名無しさん
垢版 |
2018/03/17(土) 10:48:24.18ID:sIKOxZd2
>>631
「一定割合」どころか、ソース公開する側が正義、隠そうとする側が悪みたいな風潮が
あるから、大多数からバッシングを受ける現実がある。
0634デフォルトの名無しさん
垢版 |
2018/03/17(土) 11:02:15.45ID:zK+A43YX
>>632
なるほどその手があったか
0637デフォルトの名無しさん
垢版 |
2018/03/17(土) 16:55:45.70ID:wH8S1aPq
>>636
その程度で潰れる弱いプロジェクトならどうせ長続き出来ないし淘汰されても仕方がない
それにしても ID:sIKOxZd2 は温室育ちの世間知らずか引き籠もりなのか?
甘えたこと言いたいならママに言えよ
0639デフォルトの名無しさん
垢版 |
2018/03/17(土) 18:12:12.73ID:1GxWiyT5
GPLに気をつけるのはまあいいとして、
何か害悪みたいに怯えるのはどうかと思うぞ。
どこまでがOKでどこからがダメなのか勉強して知っておけば何も怖いものではない。

むしろ自分がOSSで公開する分には都合のいい場合すらある。
0640デフォルトの名無しさん
垢版 |
2018/03/18(日) 03:55:17.35ID:HsPk0IuW
おわこん
0643デフォルトの名無しさん
垢版 |
2018/03/18(日) 09:59:23.92ID:gEhIFGvb
Qtがオワコンってんなら
こんなスレまで何しにきてるんだ?
フレームワークなんていくらでもあるんだから他当たれよ
0644デフォルトの名無しさん
垢版 |
2018/03/18(日) 10:03:50.47ID:3gi5Gn3p
>>639
LGPLについて、あるサイトで勉強しても、別のサイトでは全く別の事が書かれ
ている。また、質問サイトの回答で、ある人が「これこれこういうことです」
と書いていても、別の人が、「それだとOSS作者が損だ。公開すべきだ」と怒り
に満ちたような文面で言う。同様にストールマンも非常に激しい口調で、LGPL
であっても原則的には公開の義務があるかのような事を言ってくる。
そして、LGPLのライセンス自体を読んでも良く分からない、玉虫色な感じで
もやもや感が残る。結局、クローズドにしたい人の立場では書かれていないから
そこに載ってないやり方ではOkなのかダメなのかが分からない。後からダメと
言われれば全部パーになってしまう。

また、訴えられるだけで、さらに言えば、何か悪い噂を立てるだけでアプリ作者
にとっては痛手だし、こんな状態ではLGPLは使うわけには行かない。
0646デフォルトの名無しさん
垢版 |
2018/03/18(日) 10:27:35.47ID:u2Z1KAGW
Qt以外のフレームワークで良さげなのってある?
0648デフォルトの名無しさん
垢版 |
2018/03/18(日) 10:46:15.20ID:ffJnoACJ
C++にフレームワークというものが必要ない
GUIならGUIライブラリだけあればいい
それ以外のものが必要ならそれだけどこからか取ってきて継ぎはぎして作る
MSですら大型のフレームワークをスタンダードにできなかった
0650デフォルトの名無しさん
垢版 |
2018/03/18(日) 12:17:22.04ID:gEhIFGvb
>>645
意味不明。オレはQtで問題なくアプリを開発して公開してるし。

C++にGUIフレームワークが必要ないと主張するのは勝手だけど、
だったらなんでこのスレまで来てるんだよ。
勝手にスクラッチで開発したらいいだろ。
何考えてるのか意味不明な奴らばかりだ。
0652デフォルトの名無しさん
垢版 |
2018/03/25(日) 11:31:50.14ID:WaYZZq21
たしかに
0653デフォルトの名無しさん
垢版 |
2018/03/29(木) 01:43:16.00ID:3O2H4m18
QMLのドキュメントは実際の動きと違いが多すぎて酷いな
0654デフォルトの名無しさん
垢版 |
2018/03/29(木) 11:38:45.52ID:G2xkvUDv
末期症状
0655デフォルトの名無しさん
垢版 |
2018/03/30(金) 18:47:47.58ID:qT4MZ8MO
Qtがオワコンとか言ってる奴は何なんすか?あのマイナーツールキットGtk+のC++版であるGtkmmでさえ
GEditやMySQLで着々と頑張っているんですよ。

Qtがオワコンとか言ってる奴は完全なお門違いですよ。

俺はね、この板でGUIはHTMLで決まりとか言われたから、Electronやってみたんですよ。
でもね、やっぱあれダメですよ。

俺が思うにGUIはやっぱQtかGtkmmじゃないとダメですね。特に、QtQuickは最高です。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況