【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 18©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
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/ >>303
Qt Creatorを使って、ファイルの新規作成から
Qt Designer フォームクラス を作れば自動でcpp,h,uiが作られるよ
...Quickのほうはよく分からんけど... >>306
なるほど!
そっちでやれば良いんですね…
uiフォームだけ作る方でやってました そういえば一時期削除されたgtkテーマのサポートが復活したようで嬉しいです >303です
デザイナでQWebEngineViewを使いたい場合、QWidgetを配置して格上げすると思うのですが、
ヘッダにQWebEngineViewを指定してグローバルにインクルードするを選ぶと「既にクラスが存在します」と出て格上げできません
自分でQWebEngineViewを継承したクラスを定義しなくてはならないんですか? だからサンプルコードを見なよ。
話がループしてるんだが。 >>309
Ubuntuのデスクトップ環境もUnityからGNOME(Gtk)になるねw Linuxは今自分が動いている環境がGNOMEなのか
KDEなのかを検出する方法がわからなくて嫌になる。
QtはGNOME環境じゃまともに動かない。 >>311
サンプルからヒントを掴みQWebEngineViewのウィジェットを表示させることには成功しましたが、そこら辺のサンプルは敷居が高く理解できません…
これから読めば理解が進む、というようなものがあれば教えて頂ければ幸いです 目的のウィジェットが使われてるサンプルを一通りビルドして動かして、
自分の目的に一番近い使われ方をしてるサンプルを改造することから始めたらいいんだよ。
いじって元のコードがわからなくなるのが嫌な場合は
サンプルコードごと別のフォルダにコピーすること。 >>315
なるほど!
そういう使い方も出来るんですね
やってみます マジでこの先Qt製の2ch専ブラなんて登場しないのかな...
v2cもjdもいい加減つらいわ... ウィンドウの左端にボタン画像を並べてタブのように切り替えられるコントロールって何かない?
QTabBarのタブに画像を貼るとある程度近くなるんだけど見た目のイメージが違う。 ダイアログだかウィザード系でそんなのあったね
QtCreatorのサンプル一覧でもあったんじゃね QtのサンプルをQtCreatorで眺めてたが、少なくともサンプルのサムネイルでは見当たらないな。
それからWizardと名のつくサンプルはないようだ。 >>323
この適当な返答するおっさん前にも湧いてたな QtCreatorそのものがそういうレイアウトじゃろ QtCreatorのはFancyTabWidgetっていうんだけど、
QtCreatorのコアライブラリと密接に結びついてて単独で扱えない。
芋づる式に20個ぐらいソースファイルの移植が必要になる上に、そのままでは動かんようだ。 qt専用のパッケージマネージャqpmってどうです? >>332
質問の場が悪いんじゃね
Qt Forumのgeneralとかいう所で聞いたら早いし優しい QMLってもしかしてスクロール関係が全体的に弱い?
QMLのListBox、100行程度入れただけで
スクロールが耐え難いほど重くなるんだけど
何か軽くする方法とか、別の手段とかない?
画面外のリストはいちいち破棄したり、表示する度に
書いてるようだけど、QMLの描画自体が重いから話にならない
実際には1000行、2000行とか入れる予定だから実用に耐えない
スクリプト言語によくあるような、QMLを予めコンパイルして
描画時スクリプト解析みたいのを無くす方法あればいいんだけど QMLのスクリプト解析描画が重いのって
ColumnやRowのリピート描画でも言えるな
標準のプログレスバーがダサいからリピートで書いたら
重すぎて高速の更新にまるで使えん QML側でどうなってるか知らないが、
ListWidgetやTreeWidgetはC++実装でも重い物だから、
数百項目以上になるなら普通はListViewやTreeViewを使う。
こいつはデータモデルを別途構築して、
Viewクラスがそれをなめて自分で描画するという手順を取る。 Qt World Summit 2017のモバイルアプリどっちも十分出来がいいように思えるな
http://blog.qt.io/blog/2017/09/29/qt-world-summit-app-2017-open-source-live-now
まあモバイルでQt/Qmlが使われるようになる日はこないだろうけど
ライセンスも酷いしな QtはLGPL/GPLの制限がある限りモバイルでは使いものにならないので、
Golangあたりで再実装して、ライセンスもスタティックリンク可能なものにするしか生き残る方法はないと思う。 xamarinがWPF/macOS/Gtk#にも対応するっぽいしマジで最初からc#学んでおくべきだったかな
最近はクロスプラットフォームなアプリといえばまずElectronでQtなんて早々お目にかかれないし、どんどんjsとc#に吸収されていきそう
Qtにうつつを抜かしてたせいでMVVMにもすっかり乗り遅れちゃったしなぁ しかしxamarinの発想は、Qtみたいに同じソースコードでどのプラットフォームにも
同じUIを提供するというものではないからな。
プラットフォームごとにUIは作り直しになる。
しかもC# がネイティブになってる処理系はないから
ツールキットAPIの脳内翻訳が必要になる。 >>337
すまん間違えた、重いのはListBoxじゃなくてListView
もちろんQAbstractListModelを使ってる
DelegateもRectangleとTextだけのシンプルなもの
この重さ、いったい何を想定して作られたんだ?
軽くする方法あるのか?
beginInsertRow-end、beginRemoveRow-endみたいな仕様も
正直めっちゃ使いにくいし、全更新の関数は落ちるし
スクロールバーの位置の保持とかどうすりゃいいねん >>343
スレ違いだからスルーする
>>344
C++で実装すると、15000件登録しても描画は0.1秒未満だよ。
もっとも、画面描画で必要な件数しかアクセスされないから、
画面外の件数は描画速度には直接関係ないが。 >>345
描画をQMLにやらせずC++でってこと?
それができるなら是非それにしたいな、サンプルとかどこかにあるかな?
細かいスクロールの位置保持や復元の方法はわからないけど
指定の行までスクロールさせる命令がQMLにあるでしょ
頭の方の行だったらいいけど、ケツの方の行を指定すると
数秒間フリーズしたみたいになる
その間は表示してないからわからないけど、もしかして
指定行までスムーズにスクロールしててあんなに遅いのか? >>346
QtSDKのソースコードに含まれてるサンプルの中に
QAbstractItemModel/QStandardItemModelそれぞれのサンプルコードがあるよ。
単なる表示用で行選択さえできればいいのなら、後者で実装すればより簡単。
個人的にはQMLはRAD開発やユーザー拡張用で、
本格的なアプリを作るなら普通にC++で作ったほうが速度出るしつぶしが利くと思う。 >>347
Qt使えとかQML使えというのは上の絶対命令でね
初動からおかしいうえに方向転換できない末期に放り込まれたから
とにかくありがとう、めちゃめちゃ参考になった
表示して選択してだけだから、まさに後者かもしれない、早速調べてみるよ FlickableとColumnとRepeaterでテストした限り100件でスクロールが重いってことはない感じ 上の命令なら、商用版でQt Quick Compilerが使えるんじゃない?
まあ、それでもC++ネイティブには負けるけど。 >>344
昔試したけどそこまで重かった記憶ないな。Qtのバージョンは? >>349
今時の速いのが当たり前のスペックだけでテストしてたら商品にならないでしょ
>>351
5 qtのsignal&slotパラダイムってgoto文みたいだよな むしろObjective-CのメッセージやC#のeventに近い。 たかがGUIツールキットで独自のコンテナやらスマポやら作りやがって
まともなC++のGUIが欲しい 欲しいと思ったときがチャンスだぞ
というかWindows FormsのC++コピーみたいなのは無いんだろうか
デザイナツール付きで QtはSTLやboostよりずっと昔から使われてるから自前で一通り持ってるんだよ。
だいたいSTLはコンパイラごとに方言があるしな。 https://www.youtube.com/watch?v=YWiAUUblD34
CppConのQtプレゼンだけやたら低評価多いな
他に比べて高評価も少ない
Qtはみんなに嫌われてるんだよね gtkmmはgtk4でc++17をフル活用出来るようになるのかな
かなり前からRefPtrは将来c++にスマポ入ったらそれに置き換えるとか言ってたのに、c++11から6年たってようやく実現されたのは遅すぎるよなぁ
まあgtkはlinux以外での動作が期待出来んしqtは捨てられないけど
でもgtkmmはまともなc++で羨ましいというか健全だ gtkmmはAPIはいいけど、本体の gtk がねぇ... c++どころかプログラミングをあまり知らない人がいきなりqtやるのっておすすめできる? PyQt/PySideでPythonから使ったほうがいいかもしれない。
wxWidgetをPerlから入るのはどうですか?
資料少ないですかね
Beが… cmakeとqmakeどっち使うべき?
出来ればcmakeでやりたいんですが困ることあります? うちはqmakeで統一してるけど、
Qt CreatorはCMakeのプロジェクトにも対応してるようだ。
ただしqmakeと違って直接読めないのでプロジェクト設定の変更に対応させるのが一手間増えると読んだ。
qmakeは一通りのことだとマルチ環境に対応できるが
ちょっと凝ったことをやり始めるとVisualStudioとかには対応できなくなる。 mocってやっぱいずれ廃止される運命なの?
https://youtu.be/YWiAUUblD34?t=1h10m20s
なくすとしてもqt6になるのかね
そもそもqtってどれくらいやる気あるんやろ
ブログ記事とかも最近はIoT系ばっかだし(Automationってやつ?)
需要も売り上げもこれからは組み込み機器に偏っていくんだろうなぁ
qt6はメジャーアップデートになるみたいだけどqt4並に互換性なくすとしたらリスクデカすぎるよねぇ そもそもC++の規格がここ10年くらいで急速に進歩しただけでな。
Qtはそれ以前からあるんだからしょうがないだろう。
過去の蓄積でできてるんだから。 >>376
古いC++を見捨てるときになくなる
デスクトップは儲からない、モバイルは使い物にならない、
残るは組み込みしかない、つまらない nvidiaのgraphics debuggerってQt製?
https://youtu.be/3D1QVspMF8w?t=13m34s
ドックウィジェットをドラッグするときVisual StudioでいうGuide diamondが表示されてるけどQtでもああいう挙動は実現出来るの?
そういうライブラリってある? QtCreatorの挙動で一番戸惑うのが
ドッキングウィンドウの挙動。
まあ慣れたけどさ。 http://blog.qt.io/blog/2017/10/06/qt-5-9-2-released/
5.9.1から300近くのバグ修正(多過ぎ)、1000以上の変更(変え過ぎ)。
未解決バグ(機能不足は含まない)は五千以上。 >>386
ウィジェットのドックなら簡単にできる。
QMLではできない。 >>389
絵文字とカラー絵文字はやっと最近表示はできる。文字が重なって使い物にならない。 devicePixelRatioの扱いがようわからん。
1.0以外の表示ができる環境がない。 >>391
VMでUbuntuのUnityかGNOMEを動かせば試せる。
設定はLinux HighDPIで検索すれば見つかる。倍に設定すれば2が返る。
古いUbuntuはHighDPI対応していないので最新のを。 >>392
どもども。Ubuntu-16.04.2 のunityでunity-control-centerを使って
メニューとタイトルバーの拡大縮小を1.5に設定してみた。
タイトルバーとメニューのテキストが文字通り1.5倍になるが、
自作アプリで表示してるアイコンや画像のDPIはそのままだ。
アイコンの表示サイズを変更する機能は自前で用意してるので
このフラグをオンにすれば問題なく使えそうだ。
一番懸念していた画像のリサイズの品質はVirtualBox上では問題なく動いてるように見える。
あくまでエミュレーター上の話だが。 qt製の2ch専ブラ真面目に欲しい😢
PCでも絵文字を使いたいんだ😭 >>394
10年以上前からその話聴くけど無いってことは需要無だろ 古参ならkitaというKDE用のQt3製の専ブラがあるで(http://kita.osdn.jp/)
最近でも作ろうとした人はいたみたいだし
Qtによる2chブラウザ MonaCute
https://anago.5ch.net/test/read.cgi/software/1364969160/
専ブラのまがい物みたいなの作ってる
http://askmona.org/3396
でも皆失敗してしまったんだ
もうここの住人しか希望が残ってないんだ😵 あ、2番目のやつはAskMonaというサイト用の専ブラか😅 デスクトップでも2chmateが最強か
情けない😢
2chMate 0.8.9.52/chromium/App Runtime for Chrome Dev/5.0/GR >>396
どんなしょぼい2ちゃんブラウザでも期待はされるから需要はある qt3dstudioが一応オンラインインストーラからインストールできるようになっているよ
βだけど AtlassianのHipchatのwindowsアプリQtで作られているらしいんだけど、
日本語入力時にバックスペースで文字消すとき
二回押さないと文字が消えなかったり
確定した文字まで多めに消したりとかなり使いにくい
これってQtのせいなのかな?
MinGW使うのやめてVisualStudioでコンパイルすると治るという書き込みも見たけど
Qtで日本語扱うならMinGWよりVisualStudioがオススメですか?
バグレポート
https://jira.atlassian.com/browse/HCPUB-268
Hipchat ダウンロード
https://www.hipchat.com/downloads ■ このスレッドは過去ログ倉庫に格納されています