【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 18©2ch.net

1デフォルトの名無しさん 転載ダメ©2ch.net2017/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/

2デフォルトの名無しさん2017/03/08(水) 13:49:56.47ID:jMX+hATM
■リンク

・Qt Project
 http://qt-project.org/

・Qtユーザー会
 http://planet.qt-users.jp/
・Qt Users Forum Japan
 http://qtusersforum.s2.zmx.jp/forum/index.php
・Qt Creator を日本語化するプロジェクト(非公式)
 http://qt-creator-jp.sourceforge.jp/

・PyQt4(GPL。定番)
 http://www.riverbankcomputing.co.uk/software/pyqt/intro
・PySide(LGPL。)
 http://www.pyside.org/downloads/


■ライセンス関連まとめ

各ライセンスでの自作アプリのソース公開/頒布

Qtのライセンス   アプリのライセンス     Qtの頒布/(変更部分のソース公開)
GPL           GPL(ソース公開必須)      必須
LGPL         任意(ソース公開不要)      必須
商用          任意(ソース公開不要)      不要

*: LGPLは動的リンク時

実際には他にも条件(リバースエンジニアリング関係とか)あるので、
きちんとライセンスの条文を読むこと。

3デフォルトの名無しさん2017/03/08(水) 13:52:03.95ID:+aRKIsxC
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
|  i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
      |( ´∀`) < きのこ のこーのこ げんきのこ ♪
      |(ノ   |つ
      |     |
     ⊂ _ ノ
       ""U
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
     (´∀` )| < エリンギ まいたけ ブナシメジ ♪
    ⊂|  (ノ |
      |     |
      ヽ _ ⊃
      .U""
|
| ミ
| ミ  サッ!
| ミ
|

4デフォルトの名無しさん2017/03/08(水) 14:06:29.43ID:koTwgl9J
>1 いちもつ

5デフォルトの名無しさん2017/03/08(水) 16:20:39.27ID:TtwIMs9c
Linux 上で Qt のアプリをターミナルから起動すると
Qt: Session management error: None of the authentication protocols specified are supported
というメッセージが出るんだけど、これって何でしょう?
動作自体は問題ないようです
新しいプロジェクトで作成して手を入れていない Qt ウィジットアプリケーションでも表示されます

6デフォルトの名無しさん2017/03/08(水) 16:22:51.74ID:TtwIMs9c
いろいろ確かめていたところ root で起動すると出るようです
root 権限必要なプログラムなのですが、このメッセージがでちゃうのは回避できないのかな

7デフォルトの名無しさん2017/03/10(金) 17:44:14.87ID:zeNpj7c/
商用の機械の制御ソフトをLGPLで開発し、
機械を売った場合、ソースコードの開示を
求められたら応じなければなりませんか?
ソフト単体で売ることはありません。

8デフォルトの名無しさん2017/03/10(金) 18:02:55.02ID:wwCDmvkp
そのつもりでどうぞ

9デフォルトの名無しさん2017/03/10(金) 19:40:39.40ID:5DSaPQcd

10デフォルトの名無しさん2017/03/10(金) 20:47:21.60ID:p+EiIwky
>>7
LGPL v2ならそのソースコードの開示が必要。
LGPL v3ならさらに機械にインストールする情報の開示が必要。
開示を求められたら応じなければならない。
ソフト単位で売るかどうかは無関係。
LGPLなものを使っているのを明記しないのもだめ。

11デフォルトの名無しさん2017/03/10(金) 21:19:55.69ID:GznH2wqv
それGPLじゃね

12デフォルトの名無しさん2017/03/10(金) 21:32:35.64ID:me9gH5Or
ウィキペディアでは、「LGPLなプログラムを利用する著作物が二次的著作物か
否かは法的な問題である。ライブラリに動的リンクする単体の実行
ファイルは、法的に二次的著作物ではないと解釈される可能性がある」
とありこの場合は、exeのソースコード開示はしなくてはよいのでしょうか?

13デフォルトの名無しさん2017/03/10(金) 21:48:48.96ID:KILlqnei
でも実は特許でも侵害していない限り、開示しなくても訴えられる事はないんだよな。

14デフォルトの名無しさん2017/03/11(土) 00:02:14.43ID:xh0+7vv8
>>11 >>10 のそのソースコードはLGPLなものを指す。アプリは開示の必要はない。

>>13 実際バレれば評判が落ちるくらい

15デフォルトの名無しさん2017/03/11(土) 01:08:38.71ID:L+vpLJJZ
>>7を自然な日本語として解釈する場合、制御ソフトをLGPLにする
という前提だから、求められれば制御ソフトのソースを開示する必要がある

16デフォルトの名無しさん2017/03/11(土) 06:35:34.82ID:OoMQO9eG
PC用のソフトじゃないし、別に特殊なロジックを書いてるわけでもないから別に構わんけどな
公開してマズいのはデータだけでさ

17デフォルトの名無しさん2017/03/11(土) 09:14:34.53ID:xh0+7vv8
>>16
LGLP v3 なQtはインストール情報の開示が必須なので中のデータを見られたり、
Qtにファイルアクセス内容をダンプするコードを埋め込んだのをインストールされてデータを抜き取られるかもしれない。

18デフォルトの名無しさん2017/03/11(土) 09:49:37.06ID:OoMQO9eG
>>17
自分の端末に入ってる自分のデータなんざ好きに見ればいい

19デフォルトの名無しさん2017/03/11(土) 10:01:54.94ID:xh0+7vv8
>>18
機械に入っている見られたくないデータを見られてしまう

20デフォルトの名無しさん2017/03/11(土) 10:14:15.76ID:OoMQO9eG
>>19
たとえば?

21デフォルトの名無しさん2017/03/11(土) 16:38:34.12ID:yNsFk+g5
そんな正規のインストール手順が必要なレベルのやつが
解析だの抽出だの、高が知れてる

22デフォルトの名無しさん2017/03/11(土) 18:18:00.45ID:/v3Qrvkv
禁止されていても無視してリバースエンジニアリングすればいいだけの事さ

23デフォルトの名無しさん2017/03/12(日) 01:43:56.29ID:U65Hgm+K
>>21
正規なんか関係ない、インストール手順が出るというだけでだめ
>>22
LGPLではリバースエンジニアリングを禁止してはいけないとなっている

24デフォルトの名無しさん2017/03/12(日) 08:52:02.19ID:XFVxjLdI
無法者なら禁止されていたからと言って律儀に守るわけ無いだろう
禁止しようがしまいが結果は同じ

不正アクセス禁止法や著作権法に引っ掛かる行為は訴える事もできるし

25デフォルトの名無しさん2017/03/22(水) 18:33:11.32ID:ipSO+JK0
オワコン

26デフォルトの名無しさん2017/03/25(土) 02:39:46.56ID:8oBnA/MO
そもそもQtをLGPLでライセンス利用する形で実行プログラムを別ファイルとして自分で書くなら、
LGPLからくる制限は、リバースエンジニアリングを拒絶できない、という部分くらいだよ。
自分が作るプログラム部分はソースコード開示の必要はない。

それにQtは年30000円ぐらいで商用ライセンスもらえるから、
企業がアプリ作るならそっちのほうが手っ取り早いかもしれないよ。

こっちならLGPL版と違ってexeに静的リンクだってできちゃうし。
昔からSkypeのPC版がこれで作られてるのは有名な話(MSに買われて以降は知らないけど)

27デフォルトの名無しさん2017/03/25(土) 05:22:00.24ID:4Aiq2mHR
年30000円どころじゃない話を前スレ辺りで見た気がしたんだが

28デフォルトの名無しさん2017/03/25(土) 10:48:10.47ID:zKWPJ1ip
>>26
リバースエンジニアリングに加えてLGPL v3 なので組み込みで機器にインストールする方法を開示しなければならないのが制限が大きい。
30000円ではない、安い商用のStart-upsは$948/年で、総収入$100,000未満が条件。

29デフォルトの名無しさん2017/03/25(土) 11:36:54.16ID:GiAuLLWQ
消費者向けじゃないのなら公開の義務は無いらしいが
それって何処までなのやら

30デフォルトの名無しさん2017/03/25(土) 13:40:57.96ID:8oBnA/MO
今は年$3540 らしいね。昔はこんなにしなかったんだがなあ。
https://www.qt.io/buy-product/

組み込み機器にLGPLのソフトウェアを組み込む際について議論してるのは、日本語の範囲だとここくらいかなあ。
https://srad.jp/~vyama/journal/409182/

『組み込みで機器にインストールする方法を開示しなければならない』って何条の話?

通常の用途だとLGPLでQtを利用するだけで十分じゃん? て感じだな。

31デフォルトの名無しさん2017/03/25(土) 15:10:06.45ID:zKWPJ1ip
>>30
4.結合された作品(e)の条項

32デフォルトの名無しさん2017/03/25(土) 16:10:36.20ID:8oBnA/MO
>>31
なるほどで。これ通常はブートローダとCランタイムとこのスレの場合Qtのソースコードを公開すれば済む話だよね。
インストールの手順までは示されないのが通常。ソースコードを提供したんだから自分でやれ、ということになる。

33デフォルトの名無しさん2017/03/25(土) 18:49:00.53ID:zKWPJ1ip
>>30
月あたり約3万なら安いな

34デフォルトの名無しさん2017/03/30(木) 15:28:39.36ID:2QpRLh8T
no demand
no future
no developer

35デフォルトの名無しさん2017/03/31(金) 10:57:54.27ID:eR9vk9No

36デフォルトの名無しさん2017/04/01(土) 11:26:12.63ID:2jOooiMj
Developer Survey Results
http://stackoverflow.com/insights/survey/2015
no Qt Creator, no Qt
http://stackoverflow.com/insights/survey/2016
Qt Creator 0.7%, no Qt
http://stackoverflow.com/insights/survey/2017
no Qt Creator, no Qt

37デフォルトの名無しさん2017/04/01(土) 11:28:20.06ID:7j4tGaMv
なんなのこいつ

38デフォルトの名無しさん2017/04/01(土) 15:25:27.85ID:gxLU90hA
日本語じゃないと読めないんだが

39デフォルトの名無しさん2017/04/01(土) 22:55:45.83ID:2jOooiMj
The evidences you have to realize what Qt is.

40デフォルトの名無しさん2017/04/03(月) 05:17:44.36ID:nCcApgYs
Qtはやめておけ

41デフォルトの名無しさん2017/04/04(火) 11:11:46.87ID:QuScGEjO
QtはPC向けとしては使いやすい。
Win/Mac/Linux対応のプログラムが簡単に書けるし、
ライブラリはよく整備されてると言っていい。
GUIベースのIDEもあるから特にLinuxではありがたみが増すだろう。

.NETじゃ動作速度が不満、っていうならいい選択肢なんじゃないか。
boostやSTLとも共存できるし。

一方でスマフォやタブレット向けにはGPL/LGPLの制約がかかってきて、
事実上OSS開発にするか商用ライセンス買うかの2択にならざるを得ない。

42デフォルトの名無しさん2017/04/04(火) 12:27:23.26ID:/rkaPKwN
PC向けはそう思う。
スマフォやタブレット向けには、プラットフォームネイティブと比べて、操作と見栄え、機能のどれもがひどく劣化していて使う気になれない。

43デフォルトの名無しさん2017/04/04(火) 19:30:52.49ID:NpOpvMWO
スマホきらい

44デフォルトの名無しさん2017/04/04(火) 19:34:50.15ID:vS0Kb9uV
ライセンス高杉

45デフォルトの名無しさん2017/04/04(火) 20:36:40.05ID:C6EbrKkE
はっきり言って、Qt使うとすっげえ作りにくい

46デフォルトの名無しさん2017/04/04(火) 22:23:01.82ID:/rkaPKwN
>>44
PC向けに使う分には楽になるので高くない。
>>45
スマフォやタブレット向けにはそう思う。

47デフォルトの名無しさん2017/04/05(水) 10:08:26.26ID:olEtu4E5
Visual Studio 2017にはいつごろ対応予定?

48デフォルトの名無しさん2017/04/05(水) 17:27:39.79ID:ESf1g3HA

49デフォルトの名無しさん2017/04/09(日) 13:35:32.94ID:pzAQL0ut
UbuntuのCanonical、「Unity 8」開発打ち切りを発表 スマホの取り組みも終了
http://ascii.jp/elem/000/001/465/1465307/

50デフォルトの名無しさん2017/04/09(日) 21:39:12.11ID:Y5hPZequ
gnome > kde

51デフォルトの名無しさん2017/04/13(木) 19:06:20.79ID:SP+NYsBy
>>50
C++のままでうまくやっていればgnome<kdeだっただろう。
QMLなんかにするからUnity8とKDE5はしょぼくて役立たずになってしまった。

52デフォルトの名無しさん2017/04/13(木) 20:34:44.50ID:5u+1re/V
QMLヤバいくらい使えないな

53デフォルトの名無しさん2017/04/13(木) 22:05:07.49ID:9mIMnCIv
LINEのデスクトップ版でQtが使われているという記述を見たんだけどマジ?

54デフォルトの名無しさん2017/04/13(木) 22:58:45.02ID:UIwcSd5k
>>53
qtのdllインストールするからマジだと思うよ

55デフォルトの名無しさん2017/04/13(木) 23:01:41.23ID:5u+1re/V
QStringの使いにくさは凄いな

56デフォルトの名無しさん2017/04/13(木) 23:12:39.84ID:pV4Ht5xx
>>55
むしろC/C++の文字列処理が頭おかしいくらい何も考えてないのであって、
Qt上でQStringとQByteArrayを使うだけならノーストレスで何も考えずに使えるよ。

QString <-> std::string/std::u16string
QString <-> const char*

の相互変換については基本的にQString側のメソッドを呼び出せばいいが、
C++特有のインスタンスの寿命問題があるので気を使う必要があるな。

57デフォルトの名無しさん2017/04/14(金) 01:51:50.38ID:d5lRjKPg
>>53
かなり頑張ってよく作ってある。
だけど、Qt自体の問題でテキスト入力のキー操作がブラウザなど他のアプリと同じようではないのでとても使いにくいし、
日本語入力中に文節区切りがわかるように表示されないので入力がしにくい。
そんなだからChromeからLINE使った方が格段に使いやすい。

58デフォルトの名無しさん2017/04/14(金) 01:58:29.04ID:d5lRjKPg
>>56
楽なんだけれどUTF-16の並びでしかないから絵文字などがあると面倒なコード書かなくちゃならない。
Qt5.10のQStringViewで使いやすくなるように思えない。
https://doc-snapshots.qt.io/qt5-dev/qstringview.html

59デフォルトの名無しさん2017/04/14(金) 03:41:28.57ID:GOqxwiVe
>>58
そんな特殊な環境知らんわ。
機能が足りないなら自分で実装してフォーラムに投げればいいんじゃね。

60デフォルトの名無しさん2017/04/14(金) 06:35:20.63ID:EGtRRMj1
なるほどね。サロゲートペアが含まれると、QString::length()の言うところの
戻り値は文字の数ですよ、という前提が崩れるわけか。

文字の数にこだわるならtoUcs4()やtoStdU32String()で他の形式に変換する必要があるわな。

ここはもういっそQChar を UTF-16からUcs4に変えてしまったほうが全体的に楽になりそうなものだが、
現状では頑なに内部16ビットを固守してるようにみえる。

まあ頑張れ。

61デフォルトの名無しさん2017/04/14(金) 19:32:36.93ID:/GRVqW8H
今話題のAnimeEffectsってのがQt製みたいね

62デフォルトの名無しさん2017/04/15(土) 02:14:03.71ID:F/Tbf849
>>61
動かしてみた。Qtで作ってこんな情けないUIというのはあんまりだ。

63デフォルトの名無しさん2017/04/15(土) 04:40:46.80ID:isspK6A7
>>62
どうせゴチャゴチャしてりゃ偉いと思ってるだけだろ

64デフォルトの名無しさん2017/04/15(土) 16:47:27.06ID:IfgJlU6t
そもそもQt製でまとまなUIを見たことがない

65デフォルトの名無しさん2017/04/15(土) 16:59:49.97ID:R/Ce5off
君の言う、まともなUIって定義はなんだ?
そもそもKDE自体がQtで作られてるわけだが。

66デフォルトの名無しさん2017/04/15(土) 19:19:20.78ID:F/Tbf849
>>65
Linuxで動いているKDEはKDE4まではよくできている。他のプラットフォームがひどい。
AnimeEffectsは、
QGroupBoxのタイトルテキストが枠にくっついて隙間がなかったり、枠に重なってしまっている。
QPushButtonがプラットフォームスタイルでない。
フォーカス枠が細く正しい太さでない。
QComboBoxの大きさが小さすぎて正しくない、テキスト上下位置もずれている。
ヘルプで表示されるダイアログのクローズボタンをクリックしてもクローズされない。OKはクローズされる。
タイムラインゲージのテキストが欠けたりハンドルとテキストが重なっていたりする。

67デフォルトの名無しさん2017/04/15(土) 19:43:09.27ID:F/Tbf849
>>65
>まともなUIって定義はなんだ?
動作しているプラットフォームで、そのプラットフォームネイティブなUIと同じ見栄えと同じ操作感で違和感なく動作すること。
以前はよかったが最近のQtはそれがだめになっている。QMLになってさらにだめでQMLでデスクトップアプリケーションは作る気にならない。

68デフォルトの名無しさん2017/04/15(土) 20:02:23.24ID:R/Ce5off
QMLは、あくまでもJavaScriptの柔軟性でUIデザインと応答の同時作り込みをやりたいというのが主眼で、
OSのルックアンドフィールを遵守するという目的ではないと思う。

どちらかというとスマフォやタブレット対応で必要になりそうな技術。

それとQt5.6でアプリを公開してるけどネイティブ実装と違って困った、なんてことはまだ一度もない。
ただしQtがネイティブOSで何をやってるかソースコードを読んで全部理解しながら作る必要がある。

69デフォルトの名無しさん2017/04/16(日) 05:02:15.93ID:li4MoJhs
>>66
最後二つはまだしも他のはただのお前の好みだろ
ボタンがネイティブスタイルじゃないと駄目って
UIデザイナもスタイルシートも全否定だな

70デフォルトの名無しさん2017/04/16(日) 21:13:11.77ID:Qz/seIpF
ここには低年収の頭の弱いおっさんしかいないからしゃーない

71デフォルトの名無しさん2017/04/17(月) 00:28:54.68ID:TJWzc2hl
>>70
自己紹介乙

72デフォルトの名無しさん2017/04/17(月) 18:27:29.58ID:1xI019jx
>>68 QMLは、あくまでもJavaScriptの柔軟性でUIデザインと応答の同時作り込みをやりたいというのが主眼で、
UIデザインもUnity8とKDE5で失敗している。
応答はだめ、Qt Quick Controls 1がほとんどQMLで実装して応答がダメでC++で実装しなおされて2になった。
さらに1でのデスクトップ対応より格段の劣化。

>>どちらかというとスマフォやタブレット対応で必要になりそうな技術。
両方で失敗をし続けている。Ubuntu Phoneなど失敗続き。

>>ネイティブ実装と違って困った、なんてことはまだ一度もない。
困らない程度の実装なんだろう。

73デフォルトの名無しさん2017/04/17(月) 19:12:38.00ID:oNN5T3Q3
>>72
あくまでアプリで適用できるレベルの技術であって、
デスクトップ環境そのものをQMLに置き換えるのは流石に無茶が過ぎるだろう。
MSだってVisual StudioをWPFに置き換えるのに発表後10年ぐらいかかったわけだし。

>困らない程度の実装なんだろう。
正確にはQtの標準実装で正常に動かないことを確認した段階でWin32APIに
処理を差し替えて解決してるから困ってないと書いている。
普通の開発者なら困ってるかもわからんな。

具体的に言うと
ファイル名のソート、ウィンドウのStayOnTop、ゴミ箱に削除、
タイトルバーのコンテキストメニューにメニュー追加、指定したファイルをExplorerで表示する、あたりかな。

Qtを使うことで大半のコードはOS非依存にできるんだが、この辺になるとOSごとに書かないとしょうがないみたいだ。

74デフォルトの名無しさん2017/04/17(月) 21:23:53.65ID:3ZB/SzGu
QMLで何かを作ろうと思ったら
いろんな常識を捨てる覚悟と、ややこしい設計の覚悟が必要だな。
しかもビルドが通っても期待通りに動かないことだらけ。
代案探しの方が時間がかかる。

75デフォルトの名無しさん2017/04/18(火) 17:46:15.64ID:Yf8MszTw
Electronでおk

76デフォルトの名無しさん2017/04/18(火) 17:46:38.43ID:loFmBv2J
>>※正確には通常「LGPL+商用利用向きの例外条項」を選ぶことにな7ります(Qtインストール先の「LGPL_EXCEPTION.txt」を参照)。
LGPLv3だからLGPL_EXCEPTION.txtは削除されるべきだとメーリングリストに書かれている。

77デフォルトの名無しさん2017/04/18(火) 17:53:16.05ID:loFmBv2J
>>75
Electronのやり方はダメ

78デフォルトの名無しさん2017/04/22(土) 21:05:26.66ID:xNVgWxyC
新しいGoogle EarthはQtをやめてChromeベースになった。

79デフォルトの名無しさん2017/04/22(土) 22:03:07.27ID:ognfWHjL
Google Earthだと、Chrome Book向けにウェブベースのものを作らないとしょうがないだろうし、当然の結末だろうなあ。
Chromeで作っておけば作り分けも要らなくなるわけだし。

今はもうWebkit+JavaScriptでテキストエディタやIDEが作られる時代だからね。

80デフォルトの名無しさん2017/04/22(土) 23:27:44.99ID:3dW6OEKx
VisualStudioCode >>> QtCreator

81デフォルトの名無しさん2017/04/23(日) 00:16:16.27ID:jaDGW72z
>>80
やればわかるが、node-webkitやelectronはUIセットがないから、
ツールキットに相当するものを自分で作らないといけないぞ。
それ自体が大変すぎて個人にはとても扱えない代物だと感じたな。

82デフォルトの名無しさん2017/04/23(日) 00:23:05.29ID:jaDGW72z
補足すると、
VisualStudioCodeはMicrosoft、
BracketsはAdobe、
AtomはGitHubと、どこもIT業界の大手ばかりなことがわかる。
膨大な開発コストを費やさないと使いものにならないということだ。

逆にアプリ本体がほぼウェブブラウザで済むような内容だと比較的小さなコストでアプリが作れる。
だがそういうアプリもQtで作れることは言うまでもない。

83デフォルトの名無しさん2017/04/23(日) 01:33:50.84ID:rs4Ya4LF
デバッグ中にブレークポイント貼るとデバッガがおかしくなる

84デフォルトの名無しさん2017/04/23(日) 18:24:01.05ID:kQYEtztA
>>83
Qt Creatorはいろいろバグがあってはまる。

85デフォルトの名無しさん2017/04/23(日) 18:26:05.58ID:kQYEtztA
>>82
Qtで作るよりもプラットフォームに用意されているツールで作った方がちゃんと動くものを作りやすいのが現実だ。

86デフォルトの名無しさん2017/04/23(日) 18:43:28.46ID:jaDGW72z
>>85
それは狭い了見だな。

少なくとも俺が作ってるOpenGLで画面を描画して各種画像の読み込みに
対応して読み込みの先読み機構を付けた
ウィンドウズアプリを作るには、素で作るより遥かに楽だ。

87デフォルトの名無しさん2017/04/23(日) 20:06:13.40ID:kQYEtztA
>>86
大したことをしていないのだろう。その先をしようとするかどうかだ。

88デフォルトの名無しさん2017/04/23(日) 20:26:20.29ID:jaDGW72z
>>87
大したことってなんだよw

89デフォルトの名無しさん2017/04/25(火) 08:05:36.41ID:L1Jp1/og
>>87
たかがGUI Toolkitに何を求めているのだお前はw

90デフォルトの名無しさん2017/04/29(土) 22:17:59.25ID:Dzf++W11
エラー: : No such file or directory
#include <QLoggingCategory>
となってしまいます。
公式サイトからダウンロードしてインストールしたのに
QLoggingCategoryがないとなるのは何故でしょうか?
皆様はQLoggingCategoryを別途追加されていますか
それともQtを再インストールしたほうがよいでしょうか

91デフォルトの名無しさん2017/04/29(土) 23:57:16.41ID:x7ZtsVeM
まず、なにをしたらそのエラーが出たのかを書かないと

92デフォルトの名無しさん2017/04/30(日) 00:23:43.39ID:VPWRpVfK
すっかり失念しておりました
新しいプロジェクトとしてproファイルを読み込み、
ビルドしようとしたところ
cppファイルが
エラー: : No such file or directory
#include <QLoggingCategory>
となってしまいビルドできないのです

原因と考えているのはオプション→Qtバージョンで
使いたいと考えているQt5.6.2 gcc_64以外に
自動検出のQt4のお化けがあり何をしても消えてくれず
(削除、クリーンアップ不可)
再インストールしても解決せず途方に暮れている状態です

93デフォルトの名無しさん2017/04/30(日) 10:40:05.82ID:jjQJnylr
まず動作OSを書いてくれ。

Ubuntu16.04.2 で動かしたときは、apt-getで入るQtは使い物にならんかったよ。
公式からインストーラーを落として入れたらツールキットごと入ったからそれでビルドしていた。
そのときapt-getで入った古いバージョンのQtが毎回認識されてたが
インストーラーで入れた方を使う形で設定し直してたな。

94デフォルトの名無しさん2017/04/30(日) 10:43:01.65ID:jjQJnylr
基本的には[ツール]-[オプション]でダイアログを出して、
[ビルドと実行]-[Qtバージョン]でQtツールキットのバージョンの一覧を出して優先順位を決めたりする。

x64とx86は別バージョン扱いになる。

95デフォルトの名無しさん2017/04/30(日) 11:21:18.69ID:zwvZEPLC
skypeforlinux-64はQtを使わなくなった。

96デフォルトの名無しさん2017/04/30(日) 12:13:17.46ID:VPr4LyhY
OSから入れなおせ

97デフォルトの名無しさん2017/04/30(日) 15:18:56.72ID:yxqWVund
皆様ありがとうございます。

>>93-94
全く同じ状況です。
優先順位をどのように設定されましたか?

[ビルドと実行]-[Qtバージョン]でQtツールキットのバージョンの一覧で
自動検出のQt4
Qt5.6.2 gcc_64
になっており、削除、クリーンアップができません。
手動で追加することもできません。
何か別途で優先順位を設定する方法があるのでしょうか

どうして古い方のQmakeを優先するんですかね…

98デフォルトの名無しさん2017/04/30(日) 15:46:38.99ID:VPr4LyhY
pathがおかしいんじゃね

99デフォルトの名無しさん2017/04/30(日) 16:22:54.83ID:JrC81rPZ
>>97
だからOSとそのバージョンを書けって言ってるだろ。
質問の仕方もわからんのか。

まず、Linux系の場合、OS標準の方法で入れたQt Creatorと
Qt公式のインストーラーで入れたQt Creatorはそれ自体が挙動が違うから、
Qt公式のを使いたければOS標準のはアンインスコして使うべき。

それからQt Creatorのツールキットの認識は『キット』と『Qtバージョン』の2段階になっていて、
Qt公式のQt Creatorを起動している場合はバンドルされているツールキットが自動検出になるはず。

まずはQt Creatorのバージョンを確認することだな。うちのはQt公式ので4.2.1だ。

100デフォルトの名無しさん2017/04/30(日) 17:46:25.32ID:kKON+KN1
ubuntu16なんだろよく読めよ

責任とれないが俺のやり方
rootでいらないqtファイル消す(パージじゃ消えない>>99を信じるな)
aptでパージ
新バージョンを公式から落としてインスト
aptでいれなおす
aptでいれたクリエイターを起動
あら不思議自動認識が消える
手動で公式インストqtファイルを指定
いつもこんな感じ

93に指定する方法聞くかos入れ直すほうがいいかもな
しかし>>99のような役立たずな書き込みもめずらしい

101デフォルトの名無しさん2017/04/30(日) 23:32:00.50ID:yxqWVund
皆様ありがとうございました。

>>100
この方法で自動検出されていたQt4が消え、
Qt5.6.2 gcc_64だけを指定することができ、
エラー: : No such file or directory
#include <QLoggingCategory> が無くなりました。
ありがとうございました。

102デフォルトの名無しさん2017/04/30(日) 23:54:41.47ID:JrC81rPZ
>>100-101
なんでだよ。

その運用だとQt Creatorだけシステム側ので全体がチグハグになるだろ。
SDKをQt公式から入れたならQt CreatorもQt公式のを使うのが本道だろ。

ま、動きゃ何でもいいってんならもう何も言わんがね。

103デフォルトの名無しさん2017/05/01(月) 02:32:41.50ID:Pbd1SnYh
無様

104デフォルトの名無しさん2017/05/01(月) 11:28:03.11ID:hzoMRY/L
配布するときにまた揉めそうなやつだな

105デフォルトの名無しさん2017/05/01(月) 17:10:51.52ID:TBFB8t6J
何コイツ偉そうと思っていたら
> うちのはQt公式ので4.2.1だ。
最後でお茶吹いたw

106デフォルトの名無しさん2017/05/02(火) 09:51:40.73ID:zHbBpGgT
>>105
Qt CreatorのバージョンはQt SDKのバージョンとは違うんだが?
いちいちそんなことを説明する必要ある?

107デフォルトの名無しさん2017/05/06(土) 15:02:02.22ID:UekiBFUN
apt-get で入れる場合、そのubuntu(debian)でランタイム用として公式サポートされているものと
同じバージョンの開発キットがインストールされる

さらにapt-get でインストールできるのはモジュール単位なので、
QtGUI とかの基本以外のモジュールを使う場合は追加でインストールする必要がある

ぶっちゃけ面倒だし、Qt公式インストーラで別途インストールした方が管理も楽

ちなみにユーザー権限でインストールするとホームディレクトリにインストールされる
sudo 付けてインストーラを実行すればそのPC内のユーザーで共用できる(/opt/Qt とか)

108デフォルトの名無しさん2017/05/08(月) 15:21:35.90ID:b8IrEu5a
Qt Creatorのヘルプでスクロールすると途中から逆向きにスクロール、なんてバグだ。

109デフォルトの名無しさん2017/05/08(月) 15:24:27.22ID:a6AlN3XP
んなもん、公式フォーラムに書けや。アホか。

110デフォルトの名無しさん2017/05/08(月) 17:01:56.50ID:b8IrEu5a
>>108
ソース引っ張ってきて直した。Qtのバグだった。

111デフォルトの名無しさん2017/05/08(月) 18:13:21.70ID:a6AlN3XP
>>110
公式にパッチを投げるまでがOSS開発者の仕事。

112デフォルトの名無しさん2017/05/08(月) 18:36:01.53ID:b8IrEu5a
>>111
OOSのは使っていない。

113デフォルトの名無しさん2017/05/08(月) 19:03:56.43ID:gDok/eUJ
>>106
>>107
相変わらず的外れなことばっかりな奴がいるな

114デフォルトの名無しさん2017/05/08(月) 19:31:03.26ID:a6AlN3XP
>>112
Qt自体がOSSだ。
>>113
何が的外れか具体的に指摘できない時点で的外れ。

115デフォルトの名無しさん2017/05/08(月) 20:29:22.76ID:SZNsQcBY
>>113
Tipsに対して的外れとは、君の的はいったいどこにあるのやら

1161012017/05/08(月) 23:31:08.77ID:H01j08w7
101です。
荒れる原因になってしまったので
追加の報告をさせて頂きます。

100さんの方法で自動検出が消え、Qt5.6.2 gcc_64を指定したあとは、
公式のQt5.6.2を利用しています。
公式のQt5.6.2にもQt5.6.2 gcc_64を指定した設定が適用されていました。
(自動検出のQt4を消すことが出来ました。)
ですので、102さんが仰る
>>Qt Creatorだけシステム側ので全体がチグハグ
にはなっていないと思います。
この報告をすぐにすればよかったですね

117デフォルトの名無しさん2017/05/09(火) 00:11:50.01ID:ECVRvtRv
>>116
まあUbuntuなら公式とそれほど差があるわけじゃないから
動けばどっちでもいいだろうけどさ。

念のためにGUI上でQt Creatorのバージョンを確認して、
$ (QtSDKをインスコしたPATH)/Tools/QtCreator/bin/qtcreator -version
の出力と比べてご覧よ。

同じなら同じバージョン。
異なるならQt Creatorだけシステム側のを使ってる状態になる。

118デフォルトの名無しさん2017/05/09(火) 01:11:27.86ID:m06THHKY
>>114
商用はOSSではないよ

119デフォルトの名無しさん2017/05/09(火) 01:28:51.69ID:ECVRvtRv
>>118
https://www.sra.co.jp/qt/faq/licenses.html
問 :
 商用版の Qt にあって、オープンソース版の Qt にないものは何ですか。
答 :
 基本的な Qt のコードとライブラリと API は、両方で同じです。しかしながら、商用版とオープンソース版では多くの違いがあります。
 商用版の顧客は、オープンソース版のユーザが利用できない多くの製品やサービスを入手できます。

>>118,110 は明らかにQtのコードの話をしているからこれはOSSの範囲だ。

120デフォルトの名無しさん2017/05/09(火) 02:46:59.42ID:TexapL1h
>>117
だめだコイツ
話が通じてねぇw

121デフォルトの名無しさん2017/05/09(火) 08:16:57.55ID:m06THHKY
>>119
商用はQtのコードを変更しても知らせずに使える。OSSに反映する必要はない。
製品に特化した機能変更や修正をしてもよいしQtを使っていることを知らせる必要もない。

122デフォルトの名無しさん2017/05/09(火) 10:09:31.58ID:ECVRvtRv
>>121
あー、こいつ全くわかっとらんわ。話にならん。

123デフォルトの名無しさん2017/05/10(水) 20:43:32.16ID:WFrkL21k
>>122
LICENSE AGREEMENTをよく読んでごらん。

124デフォルトの名無しさん2017/05/10(水) 23:33:30.45ID:fDOgxcsN
>>123
117のカキコ見たらわかるが
人の話全く聞かない奴だからスルー推奨

125デフォルトの名無しさん2017/05/12(金) 14:42:59.20ID:MORu6q+C
数日前、Qt Creator4.2.2でオプション設定していたら固まった。
今日は、起動して7つのプロジェクトが入ったデフォルトセッションを開くとプロジェクトの読込中のまま進まない。

126デフォルトの名無しさん2017/05/12(金) 14:57:42.01ID:PxXB6Wit
プロジェクト読み込み時に固まるってのはたまにあるね。
しばらく待ってたら読み込み終わることが多いけど。

userファイル消してみたらどうだい。

ついでにいうとここで書いたって解決しないから
どうしてもというなら公式のフォーラムで発言したほうがいいよ。

127デフォルトの名無しさん2017/05/13(土) 02:20:46.39ID:DreJkv7c
おまえらQtでmastodonのクライアント作ろうぜ

128デフォルトの名無しさん2017/05/14(日) 17:56:32.37ID:ozBnCuKw
>>126
そうだね。
今度はビルドしたらQt CreatorのプロセスがCPU 100%で無限ループ。

129デフォルトの名無しさん2017/05/18(木) 09:41:38.07ID:xXCtzo0J
Python3 + PyQt5 の勉強始めて、基本的な動作の実験をしてみたんだけど、

if __name__=="__main__":
  # 1回め
  app = QApplication(sys.argv)
  window = MainWindow()
  app.exec_()
  # 2回め
  app = QApplication(sys.argv) # これをしなければ OK
  window = MainWindow()
  app.exec_()

ってやると1回めのウィンドウを閉じたところで Segmentation fault になる。
MainWindow は、QMainWindow から派生してて、コンストラクタで show() してる。
2回めの QApplication のインスタンスを作りなおさなければ動くんですが、なぜなんでしょう?

想定しているのは、入力のフロントエンドとして使用して、その処理を繰り返すような用途です。

130デフォルトの名無しさん2017/05/18(木) 09:48:40.00ID:yl+XzHdH
>>129
基本的にQApplicationはQtアプリ自身の寿命と同じになる。

QApplication::exec()から制御が戻ってきたときはそのままアプリケーションは終了させてしまう。

君が書いてるようなQApplicationのインスタンスを何度も作り直すようなことは想定されてない。
根本的に使い方が間違ってると思うんだが。

131デフォルトの名無しさん2017/05/18(木) 12:00:30.51ID:xXCtzo0J
>>130
どうも。
まあ MainWindow を再生成してる例とかも見たことないし、
あまり良いことじゃないんだろうなーと思いながらちょっと実験をした次第。

スレッドを使うのが正しいんだろうとは思うんだけど、なかなか大変そうで、
できれば簡単に済ませられないかと。

1. ウィンドウで入力。
2. ウィンドウ閉じて、途中経過はターミナルにつらつらと出す。
3. 1 に戻る。

こんな感じなんだけど、簡単にできる方法ないでしょうかね。

132デフォルトの名無しさん2017/05/18(木) 15:12:32.04ID:6nNpr9wz
そんなことだれもやらないだろうな
MainWindowの中身を造りなおせば済むから

133デフォルトの名無しさん2017/05/18(木) 16:58:37.46ID:d+oDyp66
メインウィンドウを閉じるという事は、アプリ・プロセスの終了と同じ

プロセスの起動・終了を繰り返しても、時間がかかるだけで、意味がない

134デフォルトの名無しさん2017/05/18(木) 17:48:15.34ID:0IsM/VMV
>>131
どうしても閉じたいのなら、closeした時のsignalで処理開始して、処理終了signalでメインウインドウ再度作成すればいいんやないの?

135デフォルトの名無しさん2017/05/18(木) 20:58:39.50ID:l69ftKPX
pythonにもhide/showぐらいはありそうなもんだが

136デフォルトの名無しさん2017/05/18(木) 21:09:42.35ID:5ZcsGzLc
hideするだけで良いじゃん。
多分GUIアプリを作った事がないと見た。

137デフォルトの名無しさん2017/05/18(木) 21:21:27.96ID:c1N4wzkE
>>131
app.setQuitOnLastWindowClosed(False)

138デフォルトの名無しさん2017/05/18(木) 22:02:34.50ID:xXCtzo0J
どうも。いろいろ参考になります。

ちょっと気合入れてスレッド勉強しました。なんとなくわかってきたんで、これで実装しようかと思ってます。あー、頭いて。

>>136
Python + Qt は初めて。Lazarus なら遊びで使ったことがある。

>>137
なにやら怪しげなフラグ設定、調べてみます。

139デフォルトの名無しさん2017/05/19(金) 11:35:18.05ID:EaD/3jfs
>>138
python で実装するにしても関数仕様は以下を参照した方が速い。どうやっても C の仕様に引き摺られるので。
http://doc.qt.io/

例えば >>137 を調べるとして、以下を見れば古い C 流儀のプロパティだと判って python 流でないのに戸惑うかもしれない。
http://doc.qt.io/qt-5/qguiapplication.html#quitOnLastWindowClosed-prop

ただ、>>131 をやろうと思ってるなら閉じる必要のあるウィンドウをメインウィンドウにするべきではないと思うな。入力用のダイアログ作ればいいと思うけど。
逆にずっと出していると思われるターミナルウィンドウみたいなのをメインにしたらいいと思う。
そうすると余程長い処理じゃなければスレッドを使う必要もなくなるんじゃない?
PyQt/PySide でスレッドを分けるとスレッドを跨いだデータの扱いで結構面倒事が起こる。

140デフォルトの名無しさん2017/05/20(土) 15:34:09.42ID:YAniTqrY
馬鹿には無理

141デフォルトの名無しさん2017/05/20(土) 21:07:33.68ID:QnLfIsPY
質問です
QChartを使いたいんですけどQtCreatorのデザイナに出てこないんですがどうすればいいんでしょうか
環境はUbuntuでCreatorと全モジュール入りのソースをビルドしてインストールしました

142デフォルトの名無しさん2017/05/21(日) 18:41:27.32ID:kU3SV2Oh
質問。QMLでfindObjectByIdに相当するものって無い?
idをJavaScriptに文字列で渡ししたいんだが

143デフォルトの名無しさん2017/05/21(日) 19:40:14.93ID:FLeMRkjd
>>141
chart使ったことはないが公式のサンプルはあるじゃろ
そこから読み解くのも一つの手

>>142
C++でも存在は知ってても使ったことがない
Qt3より以前の古い設計の名残だと思ってるが…

144デフォルトの名無しさん2017/05/21(日) 19:53:10.30ID:1z6i0IAe
QStringListやQMap<int, QString>でよくね

145デフォルトの名無しさん2017/05/23(火) 21:27:48.60ID:yewnfItW
なんでQt製の2ch専ブラが存在しないの?

146デフォルトの名無しさん2017/05/23(火) 22:26:49.75ID:uRWG/1h1
Qtで作るメリットがないからじゃね?

147デフォルトの名無しさん2017/05/23(火) 22:50:34.65ID:QSXdmP1t
Qt は Unix 系の人が多いと思うけど、 Unix 系の人はお気に入りのニュースリーダかエディタで 2ch を見る人が多い印象がある。

148デフォルトの名無しさん2017/05/24(水) 03:32:38.88ID:TdJLTRsg
専ブラを作るのに適したGUIライブラリってなんだろ
Qtはマルチメディアも扱いやすいしWebKitも軽いし最も適した選択肢の1つに入る気がする
それともWPFやJavaFXのほうが良かったりするのかね

デスクトップ版の専ブラ古臭いのしかないしQt/Qmlでデスクトップ/Android両対応の専ブラ作れば一発当てられるんじゃね

149デフォルトの名無しさん2017/05/24(水) 06:34:54.59ID:be4/vFMj
ぜひ当ててくれ

150デフォルトの名無しさん2017/05/24(水) 12:10:06.69ID:4nncZNTT
ときすでにおすし

151デフォルトの名無しさん2017/05/24(水) 12:34:30.46ID:VnQyaHE4
kitaってのあったよ
LinuxデスクトップやZaurusではそれなりに使えてたけど

152デフォルトの名無しさん2017/05/24(水) 12:48:05.37ID:u73zk5EW
2chのapiが独占されてるからいまさら考えても意味なし

153デフォルトの名無しさん2017/05/24(水) 16:04:02.28ID:ClJsbK5M
現在の入力値を調べてボタンを有効/無効にする制御をやりたい。
Windows だとこういうのは Idle ハンドラでやってたんだけど、
Qt だとどこでやったらいいんでしょうか?

154デフォルトの名無しさん2017/05/24(水) 18:00:12.56ID:VnQyaHE4
オブジェクト思考的な話
数値がある閾値超えた場合、その旨の signal を発行して、
その signal (イベント)が必要なオブジェクトがそれを拾えば良い話

もちろん、signal を使わず数値を監視して enable/disable への切替は可能だけど

もはやQtの話じゃない

155デフォルトの名無しさん2017/05/24(水) 18:02:43.63ID:/PgniMpe
うちではTimer使ってやってる

156デフォルトの名無しさん2017/05/25(木) 10:11:01.87ID:nE79I92l
timerで処理ってダイアログ閉じるタイミングで変更されたりしたら嫌だな

157デフォルトの名無しさん2017/05/25(木) 11:09:21.88ID:uhrRUtX4
QtCreaterのソースコードでキーボードカスタマイズを
実現してるUIがあるから参考になると思うよ

158デフォルトの名無しさん2017/05/25(木) 21:35:10.53ID:6ZItyO6p
QtCreatorでカッコやクォーテーションを勝手に補完するの止める方法ある?
特に範囲選択して文字を打てば置換して欲しいのに、選択範囲を勝手に囲むの
マジで作業効率悪い

159デフォルトの名無しさん2017/05/25(木) 21:35:43.87ID:6ZItyO6p
terか

160デフォルトの名無しさん2017/05/26(金) 00:48:30.99ID:c/JqeYBh
>>158
オプションの補完にそれぞれオフにするチェックボックスがある。

161デフォルトの名無しさん2017/05/26(金) 00:50:37.64ID:ojvhD5uG
オプション>テキストエディタ>Completionだな。
それからQt Creatorが正しい。

162デフォルトの名無しさん2017/05/26(金) 14:24:03.43ID:/9uRQuSE
Qt Creator で QLabel の背景色はどうやって変えるんですか?
文字の色は palette いじったら変わったけど。
コードで変える方法はググったらあるけど、色見ながら変えたい。

163デフォルトの名無しさん2017/05/26(金) 15:18:44.39ID:/9uRQuSE
あ、styleSheet でできました。

164デフォルトの名無しさん2017/05/27(土) 12:19:04.10ID:G9IVs/Lk
>>162
コードと同じで、トップレベルウィジェットでない場合にはautoFillBackgroundをtrueにするとpaletteの背景色が使われる。

165デフォルトの名無しさん2017/05/27(土) 16:26:59.57ID:4cZE/dpO
末端のWidgetならstylesheetプロパティに直書きでいいけど、
QFrameとかのフレーム系Widgetにそれやると、中に入れた子Widgetが全部変わってしまうから注意な。

そういう場合どうするかというと、より上位のフレームのstylesheetプロパティに
クラス名付きで修飾を入れる。例えばQPushButtonについて変えたいなら

QPushButton {
border: none;
}

などとやる。

166デフォルトの名無しさん2017/05/30(火) 14:50:59.13ID:6Su+ZuCJ
スレッドを requestInterruption() で中断させて、同じインスタンスをまた実行させると、
中断要求が残ってて即座に中断してしまう。requestInterruption() を受けたら exit() してしまって、
インスタンスは作りなおさないといけないの?

167デフォルトの名無しさん2017/05/30(火) 15:43:58.11ID:334s1ZU7
何やってるのかは知らないけど、大抵の場合は
QtConcurrent::Run+QFutureの組み合わせの方が扱いが楽よ。

途中終了とかもできるし。
まあ再開はできないから途中からやり直すという
コードを書く必要があるかもしれないが。

新着レスの表示
レスを投稿する