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/
0239デフォルトの名無しさん
垢版 |
2017/07/27(木) 23:02:34.73ID:Fr5QaIId
GUIとかいらなくね?って思いながら使ってる
そろそろ自分が納得できるGUIライブラリと作り始める頃合い
0240デフォルトの名無しさん
垢版 |
2017/07/28(金) 02:03:02.85ID:u4Na0MOP
>>238
Qtのやり方でクロスプラットフォームは抜けだらけで嫌になる。
Qtはデスクトップとモバイルはもうダメ。
残るは組み込みだがそれもいつまで持つか。
0241デフォルトの名無しさん
垢版 |
2017/07/28(金) 17:28:25.48ID:kt6nJrg7
tkは原始的すぎるし、GTK+は遅すぎるし、って考えると
Qtは相対的によく出来てるよ。wxは使ったことないから知らん。

Windowsでファイル拡張子関連付けやレジストリやらいじるプログラム作ったけど、
意外とQtだけでなんとかなるもんだ。いちいち用例やドキュメントが無いから
自力で調べ回って作らされる羽目になるが。

タイトルバーやシステムボタンをQtはほとんど制御してないことをつい先日理解した。
0242デフォルトの名無しさん
垢版 |
2017/07/28(金) 20:28:16.99ID:wxsWHM64
ここ数ヶ月?ネガキャン頑張ってるよね

QMLの悪いところを使って、あたかもC++版が悪いように表現したり、
逆にC++で問題ないデスクトップ版をQML使って陥れようとしてるし
0244デフォルトの名無しさん
垢版 |
2017/07/29(土) 02:31:35.74ID:WaVIPdWN
デスクトップはC++はダメで、QMLはどうしようもなくダメ。
モバイルはC++はどうしようもなくダメで、QMLはまったくよくなる見込みもない。
0246デフォルトの名無しさん
垢版 |
2017/07/29(土) 13:22:51.32ID:EjofYfo7
意味がわからん。
QMLが気に入らないなら使わなきゃいいんだし、
そうしたところでQtの価値が下がるわけでもない。

ってこういうツッコミはもう以前入れたと思うんだが。

同じことを2回言わなきゃいけないってそれだけ頭が固い証拠じゃね?
0247デフォルトの名無しさん
垢版 |
2017/07/29(土) 15:25:03.01ID:xTAcHkko
MFCやらVCL使ってきた身としては英語ドキュメントしか無いにも関わらずQtのライブラリは本当にわかりやすい
0250デフォルトの名無しさん
垢版 |
2017/07/30(日) 09:00:46.06ID:9kuTCBsS
>>247
それってオンラインドキュメントとしての話?
VSはオンラインドキュメント化してからゴミ以下になったが
とりあえず2008以前までのオフラインドキュメントは良かった

なんにせよQtのドキュメントがわかりやすいという感覚は理解できん
0251デフォルトの名無しさん
垢版 |
2017/07/30(日) 14:10:55.33ID:eTfuhWoZ
MSDNと比べる前提で言えば、Qtのヘルプは各APIの説明が全然足らんわ。
各引数と戻り値の説明がない。

ソースコード読んだほうが早いくらい。
0254デフォルトの名無しさん
垢版 |
2017/08/02(水) 06:41:41.30ID:/KmPY1dw
英語云々ではなく説明不足
MSなら事細かに説明が書かれてるうえに
サンプルコードがほぼ記載されてる
0255デフォルトの名無しさん
垢版 |
2017/08/02(水) 07:18:26.48ID:YkTKmp+S
あのドキュメントで分からないなら
qt以前にプログラミングの経験が足りないんじゃないの?
0256デフォルトの名無しさん
垢版 |
2017/08/02(水) 08:46:04.00ID:bYfLOAN2
MSも大して書かれていないし、サンプルコードも冗長過ぎたりしてない方が良かったりする。
まあこれ以上は宗教戦争になるな。
0258デフォルトの名無しさん
垢版 |
2017/08/02(水) 19:05:01.03ID:AVhnh1yO
例えばQtでWindowsのレジストリを読み書きするときは

QSettingsにQSettings::Registry64FormatやQSettings::Registry32Formatを設定して初期化したうえで
beginGroup()〜endGroup() を多重に呼び出して潜っていくんだが、
そんなのマニュアルのどこにも書かれてない。

http://doc.qt.io/qt-5/qsettings.html#beginGroup

マニュアルだけで使い方理解できたらエスパーだな。
例は他にもいくらでも挙げられるぞ。
0260デフォルトの名無しさん
垢版 |
2017/08/03(木) 00:13:02.70ID:QN52pFR1
qtはwinでしか動かない訳じゃないんだから
環境依存する部分のドキュメントは汎用的になるのは当たり前でしょ
0261デフォルトの名無しさん
垢版 |
2017/08/03(木) 01:37:06.18ID:chJp2IsX
Qtの資料が説明不足という例は出した。
反論できないならそれまでのことだ。
0262デフォルトの名無しさん
垢版 |
2017/08/03(木) 05:34:03.90ID:QN52pFR1
何から何までマニュアル例示してもらわないと何もできないって
自信満々に言われてもな
コピペプログラマかよ
0264デフォルトの名無しさん
垢版 |
2017/08/03(木) 08:14:31.47ID:chJp2IsX
SDK自体のソースコード読んで初めて分かるようなマニュアルなんて意味ないだろ。
常識で考えればわかることなんだが。
0265デフォルトの名無しさん
垢版 |
2017/08/03(木) 19:32:27.95ID:BCoh/HEk
まあ昔のMSDN引き合いにするのが間違いだったよな

当時はデザパタといったテンプレート的な設計なんて浸透してなかったから、
利用者の事前知識ゼロが前提で説明も細かくなる

今はその辺理解してる前提のドキュメントが普通で、
だからこそ今のMSのドキュメントはしょぼいんだろ
0266デフォルトの名無しさん
垢版 |
2017/08/03(木) 21:03:01.10ID:rtMsvqw0
QtCreatorに限ってだが、普通にサンプルやチュートリアルが大量にあるので、学習にはもってこいだよ。
Visual Studioをインストールしてもサンプルコードなんて無いだろうに。
ただQtの場合はc++を熟知していないと使いにくい事は確かにある。
0268デフォルトの名無しさん
垢版 |
2017/08/03(木) 23:46:34.32ID:Qd+M/pFD
バージョンアップで仕様変更されてもドキュメントに記載なし
結局ソースコード読んで調べたわ
0270デフォルトの名無しさん
垢版 |
2017/08/04(金) 15:13:01.53ID:sTEpfwDy
質問です。

画像ファイルの読み込みをstatic関数化したうえで
QtConcurrent::run()で複数スレッドで並列実行してるんですが、
run()に渡したstatic関数が複数回呼び出される不具合に悩んでいます。

run()を呼び出す直前(呼び出し側スレッド)でqDebug()出力した内容は各ファイル1個ずつなのに、
static関数内部はそれぞれ2回以上呼ばれてしまう感じです。

その後、関係ないときにも何度も呼び出されているような挙動をしています。
QFutureのインスタンスの扱いに何かポイントがあるのでしょうか。

この辺の挙動についてご存じの方、コメントください
0271デフォルトの名無しさん
垢版 |
2017/08/04(金) 19:35:38.92ID:PcvaNu2J
>>265
勝手に普通を定義すんなよ
MSは複数の言語のヘルプがごちゃ混ぜになってしまって
期待するものと違うものがヒットしやすいけど
検索がバカになっただけで内容の細かさはピカイチだわ
0272デフォルトの名無しさん
垢版 |
2017/08/04(金) 19:39:49.66ID:PcvaNu2J
Qtのはヘルプってより一覧レベル
一般的なヘルプは「これ使えそう」
Qtのヘルプは「名前や概要説明はそれっぽいけど使ってみなきゃわかんねえ」
0276デフォルトの名無しさん
垢版 |
2017/08/17(木) 21:28:42.87ID:8Atow3o6
signal/slotを編集管理できるwizard系機能はQtCreatorには無いの?
面倒臭くてかなわないんだけど
0277デフォルトの名無しさん
垢版 |
2017/08/17(木) 22:12:22.19ID:9AsVZ3Wt
>>274
serialportの非同期通信とかすごく楽に書けるやん
0278デフォルトの名無しさん
垢版 |
2017/08/18(金) 01:31:39.37ID:nRBjEKoJ
>>276
今ちょうどそういうツールをnode.jsで作っている。
正確にはactionとアプリケーション設定値の設定表とソースコードの自動同期ツールだけど。
0279デフォルトの名無しさん
垢版 |
2017/08/22(火) 05:15:53.78ID:dZt/Vmcy
Qt Creatorを2つ起動していると頻繁に
ビルドメニューが死ぬ。

左側のタブバーのビルドボタンも使えなくなる。
こうなるとQt Creator再起動するしかない。

めんどくさい。
0283デフォルトの名無しさん
垢版 |
2017/08/30(水) 14:02:26.60ID:f2lCwifz
windeployqtを実行したら用意してくれる translations/qt_XX.qmが、
実は置いただけじゃ自動で読み込まれないことに気付いた。

コード書いてやる必要あるってことかな。
0284デフォルトの名無しさん
垢版 |
2017/09/02(土) 13:41:09.61ID:49veOKAi
QtCreatorのclangbackendほんと頑張ってるなぁ
独立プロジェクトにしてlanguage server protocolに対応とかしてほしいけどQt使ってるからあんま歓迎されないのかな
0286デフォルトの名無しさん
垢版 |
2017/09/03(日) 07:35:02.93ID:M5j04ZDf
>>285
QtCreatorのClang Code Modelプラグインで使われてる補完ツールです
別プロセスで起動してQtCreatorと通信していて、そのプロトコルをlspに対応させればvscodeとかでもそのまま動くはず

半年ほど前から公式がclangdという似たプロジェクトを始めたけど全然出来が違いすぎるし、clangbackendをQtCreatorから切り離して(さらにQt依存も取り除いて)くれないかなぁ

QtCreatorチームもclangdに関心を抱いていたようなので(http://lists.llvm.org/pipermail/cfe-dev/2017-January/052478.html)協力し合って欲しかったです
まったく同じものを作ろうとしてるのに...
0291デフォルトの名無しさん
垢版 |
2017/09/08(金) 20:55:53.72ID:R1PaVqe/
QtもJavaFXも良く出来ている!しかし、俺はGtk+が好きでGtk+のスレがないから
言わせてくれ!Gtk+もQtQuickやJavaFXみたいなリッチクライアント&簡単なスクリプト作ってくれ・・!
0292デフォルトの名無しさん
垢版 |
2017/09/08(金) 21:42:35.92ID:8EG9mjse
GTK+ってバージョン2時代の激オソ、クソ設計の頃しか知らないんだけど、
最近はマシになったのかな?
0296デフォルトの名無しさん
垢版 |
2017/09/09(土) 23:38:18.55ID:NARqm+LN
qmakeでも意外と色々できるんだが、
設計外のことをやらせようとするととたんに大変になるんだよな。
例えばasmをアセンブルする構文がないから
いちいちカスタムコンパイラ定義して外部コマンドとしてアセンブラを実行する必要がある。
0297デフォルトの名無しさん
垢版 |
2017/09/10(日) 21:05:24.93ID:2A4PE6Nc
WindowsのQtCreatorでBoostが使えません(C1083 cannnot open include fileと言われてしまいます。)

.proファイルに「INCLUDEPATH += "C:\boost_1_65_0"」と追加することにより、
F2キーによってヘッダファイルをたどることができるのですが、
コンパイルすると、上記エラーを言われてしまいます。
絶対パスを指定した場合、使用するヘッダの中で、さらに<>で#includeするファイルをオープンできないと言われてしまいます。
上記パス以外に、どのような設定が必要でしょうか?

OS:Windows 10 pro
Qt Creator 4.3.1bBased on Qt 5.9.1 (MSVC 2015, 32 bit)
0299297
垢版 |
2017/09/11(月) 00:26:00.46ID:KtLHOFTD
>>298
ありがとうございます。解決しました!
0300デフォルトの名無しさん
垢版 |
2017/09/13(水) 09:13:30.43ID:zwSP9Qv/
○次受けが多いほど退場率が早くなる。高くなる

直受けの50万 客:いつまでもうちにいていいよ
3次受けの50万(客は90万払ってる) 客:短期延長していい?
5次受けの50万(客は150万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ 
長時間労働 高稼働 高スキル要求が多い 零細フリーランスサイトは5次受けから誰もできない難易度の高い仕事 余り物の仕事を紹介してくる。40万円代でやってくれと これならJIETから3次でいったほうがいいな

372仕様書無しさん2017/08/11(金) 10:31:43.41

JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした

JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の間でやらしている。

フリーランスで検索すると引っかかる零細ITがやっているフリーランスのサイトはだめだ。
高額に見せているけど実際は50万前後
JIET等に加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ

自称エージェントはJIET等から流れてくる案件を転売してるだけだった。
労働市場(JIET等)に加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む

エンド - ユー子 - エージェント-(JIET等) 公表価格 90~60 - エージェント×3 = 言い値50万以下
エンド - ユー子 - エージェント-(JIET等) 公表価格 90~60 - エージェント×1 悪質な言い値で50万以下
エンド - ユー子 - エージェント-(JIET等) 公表価格 90~60 - JIETに加入して公表価格で応募できる

eJobgo JIET JISA で検索
優良エージェント・優良サイト
首都圏IT(PE-BANK) クラウドテック プログラマーズ
0301デフォルトの名無しさん
垢版 |
2017/09/13(水) 22:39:48.67ID:j7M2IHHt
Qt4.8.4でQMLを使い始めたのですが、QtChartsやGo言語を使わずに
LineGraphを作成するにはどのようにしたらいいのでしょうか?
0303デフォルトの名無しさん
垢版 |
2017/09/14(木) 11:20:41.82ID:clD3mMzH
ボタンが押されたら新しいダイアログを生成するという処理をしたいのですが…
新しいuiファイルを作成して、それ専用のクラスを作る流れになると思うのですが、
#include "ui_(uiファイル名).h"
としてもビルドできません
一度手動でuicをいじってヘッダを生成しなくてはならないのでしょうか?

また、qt 5.7でwebkitを使いたいのですが、proファイルにQT+=webkitwidgetsと書いてもエラーになります
環境はUbuntuで、sudo apt-get install libqt5webkit5-devも試しましたが出来ませんでした
どうしてでしょうか?
0304デフォルトの名無しさん
垢版 |
2017/09/14(木) 12:28:19.29ID:20aIJat/
>>303
uiファイルで指定したクラス名のQDialog継承クラスを定義してあげないと
uiファイルはC++ソース上で使われない。

そのへんは口で説明するよりQtSDK付属のサンプルソースを読んだほうが早い。
ちゃんと読んでから質問しようね。
0305デフォルトの名無しさん
垢版 |
2017/09/14(木) 13:10:19.67ID:clD3mMzH
>>304
ありがとうございます
帰ったら目を通してみようと思います…
0306デフォルトの名無しさん
垢版 |
2017/09/14(木) 14:56:33.15ID:4BY4zG1Q
>>303
Qt Creatorを使って、ファイルの新規作成から
Qt Designer フォームクラス を作れば自動でcpp,h,uiが作られるよ
...Quickのほうはよく分からんけど...
0307デフォルトの名無しさん
垢版 |
2017/09/14(木) 16:47:29.46ID:clD3mMzH
>>306
なるほど!
そっちでやれば良いんですね…
uiフォームだけ作る方でやってました
0308デフォルトの名無しさん
垢版 |
2017/09/14(木) 18:17:40.76ID:KFJoeqMk
Gtkuickも作ってください(><;)
0309デフォルトの名無しさん
垢版 |
2017/09/14(木) 23:49:24.43ID:OSTuhoAs
そういえば一時期削除されたgtkテーマのサポートが復活したようで嬉しいです
0310デフォルトの名無しさん
垢版 |
2017/09/15(金) 16:44:58.62ID:HEl9ygx/
>303です
デザイナでQWebEngineViewを使いたい場合、QWidgetを配置して格上げすると思うのですが、
ヘッダにQWebEngineViewを指定してグローバルにインクルードするを選ぶと「既にクラスが存在します」と出て格上げできません
自分でQWebEngineViewを継承したクラスを定義しなくてはならないんですか?
0312308
垢版 |
2017/09/15(金) 17:35:36.08ID:4tytpAQF
>>309
Ubuntuのデスクトップ環境もUnityからGNOME(Gtk)になるねw
0313デフォルトの名無しさん
垢版 |
2017/09/15(金) 18:53:12.10ID:NHWCpxw9
Linuxは今自分が動いている環境がGNOMEなのか
KDEなのかを検出する方法がわからなくて嫌になる。
QtはGNOME環境じゃまともに動かない。
0314デフォルトの名無しさん
垢版 |
2017/09/15(金) 19:58:56.00ID:HEl9ygx/
>>311
サンプルからヒントを掴みQWebEngineViewのウィジェットを表示させることには成功しましたが、そこら辺のサンプルは敷居が高く理解できません…
これから読めば理解が進む、というようなものがあれば教えて頂ければ幸いです
0315デフォルトの名無しさん
垢版 |
2017/09/16(土) 01:39:17.07ID:dchIFskE
目的のウィジェットが使われてるサンプルを一通りビルドして動かして、
自分の目的に一番近い使われ方をしてるサンプルを改造することから始めたらいいんだよ。

いじって元のコードがわからなくなるのが嫌な場合は
サンプルコードごと別のフォルダにコピーすること。
0316デフォルトの名無しさん
垢版 |
2017/09/16(土) 08:01:13.00ID:j5XMjM8Q
>>315
なるほど!
そういう使い方も出来るんですね
やってみます
0317デフォルトの名無しさん
垢版 |
2017/09/17(日) 22:47:28.52ID:JkLEtCCy
マンマン、キュッキュッ!
0320デフォルトの名無しさん
垢版 |
2017/09/22(金) 18:00:20.48ID:GfL5jdYV
マジでこの先Qt製の2ch専ブラなんて登場しないのかな...
v2cもjdもいい加減つらいわ...
0322デフォルトの名無しさん
垢版 |
2017/09/22(金) 20:31:43.09ID:R3IMLZyQ
ウィンドウの左端にボタン画像を並べてタブのように切り替えられるコントロールって何かない?
QTabBarのタブに画像を貼るとある程度近くなるんだけど見た目のイメージが違う。
0325デフォルトの名無しさん
垢版 |
2017/09/24(日) 15:39:29.67ID:w3bi2455
ダイアログだかウィザード系でそんなのあったね
QtCreatorのサンプル一覧でもあったんじゃね
0326デフォルトの名無しさん
垢版 |
2017/09/24(日) 16:04:20.80ID:lcAzz3TW
QtのサンプルをQtCreatorで眺めてたが、少なくともサンプルのサムネイルでは見当たらないな。
それからWizardと名のつくサンプルはないようだ。
0330デフォルトの名無しさん
垢版 |
2017/09/26(火) 12:01:21.23ID:lw6HQVs/
QtCreatorのはFancyTabWidgetっていうんだけど、
QtCreatorのコアライブラリと密接に結びついてて単独で扱えない。
芋づる式に20個ぐらいソースファイルの移植が必要になる上に、そのままでは動かんようだ。
0335デフォルトの名無しさん
垢版 |
2017/09/30(土) 00:35:59.17ID:Ed4Qgoxv
QMLってもしかしてスクロール関係が全体的に弱い?

QMLのListBox、100行程度入れただけで
スクロールが耐え難いほど重くなるんだけど
何か軽くする方法とか、別の手段とかない?
画面外のリストはいちいち破棄したり、表示する度に
書いてるようだけど、QMLの描画自体が重いから話にならない
実際には1000行、2000行とか入れる予定だから実用に耐えない

スクリプト言語によくあるような、QMLを予めコンパイルして
描画時スクリプト解析みたいのを無くす方法あればいいんだけど
0336デフォルトの名無しさん
垢版 |
2017/09/30(土) 00:41:04.14ID:Ed4Qgoxv
QMLのスクリプト解析描画が重いのって
ColumnやRowのリピート描画でも言えるな
標準のプログレスバーがダサいからリピートで書いたら
重すぎて高速の更新にまるで使えん
0337デフォルトの名無しさん
垢版 |
2017/09/30(土) 02:44:54.22ID:IqY3f3eU
QML側でどうなってるか知らないが、
ListWidgetやTreeWidgetはC++実装でも重い物だから、
数百項目以上になるなら普通はListViewやTreeViewを使う。
こいつはデータモデルを別途構築して、
Viewクラスがそれをなめて自分で描画するという手順を取る。
■ このスレッドは過去ログ倉庫に格納されています

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