TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
nim
疑似乱数2
インデントはタブかホワイトスペースか?
ますたーのお勉強中の独り言スレ
オブジェクト指向は愚かな考え。この世は計算式 ★3
【SICP】計算機プログラムの構造と解釈 Part3
C# vs Java どっちが好き? その5
DarkBASIC
関数型プログラミング言語Haskell Part29
☆★ Java の宿題ここで答えます Part 74 ★★

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


1 :
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.sc/test/read.cgi/tech/1438593408/

2 :
■リンク

・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 :
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
|  i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
      |( ´∀`) < きのこ のこーのこ げんきのこ ♪
      |(ノ   |つ
      |     |
     ⊂ _ ノ
       ""U
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
     (´∀` )| < エリンギ まいたけ ブナシメジ ♪
    ⊂|  (ノ |
      |     |
      ヽ _ ⊃
      .U""
|
| ミ
| ミ  サッ!
| ミ
|

4 :
>1 いちもつ

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

6 :
いろいろ確かめていたところ root で起動すると出るようです
root 権限必要なプログラムなのですが、このメッセージがでちゃうのは回避できないのかな

7 :
商用の機械の制御ソフトをLGPLで開発し、
機械を売った場合、ソースコードの開示を
求められたら応じなければなりませんか?
ソフト単体で売ることはありません。

8 :
そのつもりでどうぞ

9 :


10 :
>>7
LGPL v2ならそのソースコードの開示が必要。
LGPL v3ならさらに機械にインストールする情報の開示が必要。
開示を求められたら応じなければならない。
ソフト単位で売るかどうかは無関係。
LGPLなものを使っているのを明記しないのもだめ。

11 :
それGPLじゃね

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

13 :
でも実は特許でも侵害していない限り、開示しなくても訴えられる事はないんだよな。

14 :
>>11 >>10 のそのソースコードはLGPLなものを指す。アプリは開示の必要はない。

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

15 :
>>7を自然な日本語として解釈する場合、制御ソフトをLGPLにする
という前提だから、求められれば制御ソフトのソースを開示する必要がある

16 :
PC用のソフトじゃないし、別に特殊なロジックを書いてるわけでもないから別に構わんけどな
公開してマズいのはデータだけでさ

17 :
>>16
LGLP v3 なQtはインストール情報の開示が必須なので中のデータを見られたり、
Qtにファイルアクセス内容をダンプするコードを埋め込んだのをインストールされてデータを抜き取られるかもしれない。

18 :
>>17
自分の端末に入ってる自分のデータなんざ好きに見ればいい

19 :
>>18
機械に入っている見られたくないデータを見られてしまう

20 :
>>19
たとえば?

21 :
そんな正規のインストール手順が必要なレベルのやつが
解析だの抽出だの、高が知れてる

22 :
禁止されていても無視してリバースエンジニアリングすればいいだけの事さ

23 :
>>21
正規なんか関係ない、インストール手順が出るというだけでだめ
>>22
LGPLではリバースエンジニアリングを禁止してはいけないとなっている

24 :
無法者なら禁止されていたからと言って律儀に守るわけ無いだろう
禁止しようがしまいが結果は同じ

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

25 :
オワコン

26 :
そもそもQtをLGPLでライセンス利用する形で実行プログラムを別ファイルとして自分で書くなら、
LGPLからくる制限は、リバースエンジニアリングを拒絶できない、という部分くらいだよ。
自分が作るプログラム部分はソースコード開示の必要はない。

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

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

27 :
年30000円どころじゃない話を前スレ辺りで見た気がしたんだが

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

29 :
消費者向けじゃないのなら公開の義務は無いらしいが
それって何処までなのやら

30 :
今は年$3540 らしいね。昔はこんなにしなかったんだがなあ。
https://www.qt.io/buy-product/

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

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

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

31 :
>>30
4.結合された作品(e)の条項

32 :
>>31
なるほどで。これ通常はブートローダとCランタイムとこのスレの場合Qtのソースコードを公開すれば済む話だよね。
インストールの手順までは示されないのが通常。ソースコードを提供したんだから自分でやれ、ということになる。

33 :
>>30
月あたり約3万なら安いな

34 :
no demand
no future
no developer

35 :
>>34
indeed
https://trends.google.co.jp/trends/explore?q=Qt%20GUI

36 :
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 :
なんなのこいつ

38 :
日本語じゃないと読めないんだが

39 :
The evidences you have to realize what Qt is.

40 :
Qtはやめておけ

41 :
QtはPC向けとしては使いやすい。
Win/Mac/Linux対応のプログラムが簡単に書けるし、
ライブラリはよく整備されてると言っていい。
GUIベースのIDEもあるから特にLinuxではありがたみが増すだろう。

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

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

42 :
PC向けはそう思う。
スマフォやタブレット向けには、プラットフォームネイティブと比べて、操作と見栄え、機能のどれもがひどく劣化していて使う気になれない。

43 :
スマホきらい

44 :
ライセンス高杉

45 :
はっきり言って、Qt使うとすっげえ作りにくい

46 :
>>44
PC向けに使う分には楽になるので高くない。
>>45
スマフォやタブレット向けにはそう思う。

47 :
Visual Studio 2017にはいつごろ対応予定?

48 :
>>47
https://wiki.qt.io/Qt_5.9_Tools_and_Versions
対応予定はまだない

49 :
UbuntuのCanonical、「Unity 8」開発打ち切りを発表 スマホの取り組みも終了
http://ascii.jp/elem/000/001/465/1465307/

50 :
gnome > kde

51 :
>>50
C++のままでうまくやっていればgnome<kdeだっただろう。
QMLなんかにするからUnity8とKDE5はしょぼくて役立たずになってしまった。

52 :
QMLヤバいくらい使えないな

53 :
LINEのデスクトップ版でQtが使われているという記述を見たんだけどマジ?

54 :
>>53
qtのdllインストールするからマジだと思うよ

55 :
QStringの使いにくさは凄いな

56 :
>>55
むしろC/C++の文字列処理が頭おかしいくらい何も考えてないのであって、
Qt上でQStringとQByteArrayを使うだけならノーストレスで何も考えずに使えるよ。

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

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

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

58 :
>>56
楽なんだけれどUTF-16の並びでしかないから絵文字などがあると面倒なコード書かなくちゃならない。
Qt5.10のQStringViewで使いやすくなるように思えない。
https://doc-snapshots.qt.io/qt5-dev/qstringview.html

59 :
>>58
そんな特殊な環境知らんわ。
機能が足りないなら自分で実装してフォーラムに投げればいいんじゃね。

60 :
なるほどね。サロゲートペアが含まれると、QString::length()の言うところの
戻り値は文字の数ですよ、という前提が崩れるわけか。

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

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

まあ頑張れ。

61 :
今話題のAnimeEffectsってのがQt製みたいね

62 :
>>61
動かしてみた。Qtで作ってこんな情けないUIというのはあんまりだ。

63 :
>>62
どうせゴチャゴチャしてりゃ偉いと思ってるだけだろ

64 :
そもそもQt製でまとまなUIを見たことがない

65 :
君の言う、まともなUIって定義はなんだ?
そもそもKDE自体がQtで作られてるわけだが。

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

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

68 :
QMLは、あくまでもJavaScriptの柔軟性でUIデザインと応答の同時作り込みをやりたいというのが主眼で、
OSのルックアンドフィールを遵守するという目的ではないと思う。

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

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

69 :
>>66
最後二つはまだしも他のはただのお前の好みだろ
ボタンがネイティブスタイルじゃないと駄目って
UIデザイナもスタイルシートも全否定だな

70 :
ここには低年収の頭の弱いおっさんしかいないからしゃーない

71 :
>>70
自己紹介乙

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

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

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

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

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

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

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

74 :
QMLで何かを作ろうと思ったら
いろんな常識を捨てる覚悟と、ややこしい設計の覚悟が必要だな。
しかもビルドが通っても期待通りに動かないことだらけ。
代案探しの方が時間がかかる。

75 :
Electronでおk

76 :
>>※正確には通常「LGPL+商用利用向きの例外条項」を選ぶことにな7ります(Qtインストール先の「LGPL_EXCEPTION.txt」を参照)。
LGPLv3だからLGPL_EXCEPTION.txtは削除されるべきだとメーリングリストに書かれている。

77 :
>>75
Electronのやり方はダメ

78 :
新しいGoogle EarthはQtをやめてChromeベースになった。

79 :
Google Earthだと、Chrome Book向けにウェブベースのものを作らないとしょうがないだろうし、当然の結末だろうなあ。
Chromeで作っておけば作り分けも要らなくなるわけだし。

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

80 :
VisualStudioCode >>> QtCreator

81 :
>>80
やればわかるが、node-webkitやelectronはUIセットがないから、
ツールキットに相当するものを自分で作らないといけないぞ。
それ自体が大変すぎて個人にはとても扱えない代物だと感じたな。

82 :
補足すると、
VisualStudioCodeはMicrosoft、
BracketsはAdobe、
AtomはGitHubと、どこもIT業界の大手ばかりなことがわかる。
膨大な開発コストを費やさないと使いものにならないということだ。

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

83 :
デバッグ中にブレークポイント貼るとデバッガがおかしくなる

84 :
>>83
Qt Creatorはいろいろバグがあってはまる。

85 :
>>82
Qtで作るよりもプラットフォームに用意されているツールで作った方がちゃんと動くものを作りやすいのが現実だ。

86 :
>>85
それは狭い了見だな。

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

87 :
>>86
大したことをしていないのだろう。その先をしようとするかどうかだ。

88 :
>>87
大したことってなんだよw

89 :
>>87
たかがGUI Toolkitに何を求めているのだお前はw

90 :
エラー: : No such file or directory
#include <QLoggingCategory>
となってしまいます。
公式サイトからダウンロードしてインストールしたのに
QLoggingCategoryがないとなるのは何故でしょうか?
皆様はQLoggingCategoryを別途追加されていますか
それともQtを再インストールしたほうがよいでしょうか

91 :
まず、なにをしたらそのエラーが出たのかを書かないと

92 :
すっかり失念しておりました
新しいプロジェクトとしてproファイルを読み込み、
ビルドしようとしたところ
cppファイルが
エラー: : No such file or directory
#include <QLoggingCategory>
となってしまいビルドできないのです

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

93 :
まず動作OSを書いてくれ。

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

94 :
基本的には[ツール]-[オプション]でダイアログを出して、
[ビルドと実行]-[Qtバージョン]でQtツールキットのバージョンの一覧を出して優先順位を決めたりする。

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

95 :
skypeforlinux-64はQtを使わなくなった。

96 :
OSから入れなおせ

97 :
皆様ありがとうございます。

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

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

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

98 :
pathがおかしいんじゃね

99 :
>>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 :
ubuntu16なんだろよく読めよ

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

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


100〜のスレッドの続きを読む
スレ立てるまでもない質問はここで 149匹目
プログラム始めたいけどrubyかPythonどっちが良い
Kotlin 5
関数型プログラミング言語Haskell Part29
Io Language
Visual Studio Code / VSCode Part6
Excel VBA 質問スレ Part54
Excel VBA 質問スレ Part53
PowerShell -Part 4
生産性が低いC++で頑張るために必要な知識
--------------------
【PSO2】新年のご挨拶【公式】
【瀬戸康史】NHKドラマ10『透明なゆりかご』【清原伽耶】その2
【シャニマス】アイドルマスター シャイニーカラーズ 1037週目【enza】
本渡楓 part38
【VR】オルタナティブガールズ2 part751【オルガル】
韓国人、NYタイムズスクエアで東京五輪、旭日旗使用禁止デモ …「全世界でデモをして国際問題化する」
外人1万人受け入れ ベトナムと合意、工場で一緒に働いた事あるけど、ベトナム人はヤバイ
国税辞めたい奴のスレ part2
バロック〜BAROQUE〜歪み矯正スレ3
【レンタル】アクティオ【2台目】
クッキー☆総合スレ722
【酔わないTheCHOYA】チョーヤで乾杯★96【ネトウメ】
サーバーパス変更と脅迫
忍法帖 !ninja テストスレinびじゅある
【B.LEAGUE】大阪エヴェッサPart30
昇バブ拳27
劇団スイセイ・ミュージカル
【ゲーム】『ToHeart』の思い出 20年待っても「なでなで」マルチは発売されない!?
三貴商事について語ろう!
【洗脳】高断熱・高気密スレPart31【一条出禁】
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼