【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 18©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
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/ TrippleDES程度なら無かったか?
悪い記憶が曖昧、実装した記憶はあるんだが、俺が自分で作ったのかな? 暗号ライブラリは調査機関の認証を得ないと意味ないから個人が趣味で作ったのではなくQt Projectとしてやってほしい 暗号化ライブラリそのものはないっぽいけど、SSLで暗号通信するモジュールはNetworkにあるっぽいよ。 >>861 さんのいう通り OpenSSL を呼び出すだけ 認証機関で認証されてないけど去年話題になったgoogle製のtinkあたりでもいいだろ。 その辺のQtラッパーを作ってくれると楽でいいや
QByteArrayを直接突っ込みたい そうか
せっかくネットワーク回り整ってるのに暗号がないのだけが残念と思ってただけだ http://blog.qt.io/blog/2019/01/25/introducing-qt-http-server/
Qtが公式でhttp server出すのか
WebAssembly対応も進んでるっぽいからフロントエンドとバックエンド両方をQtで書けるとなると意外に需要があるのか? 認証機関とか意味なさ過ぎて草
確信が欲しければ自分で実装見ればいいだろ 意味がないとか、客先相手したことないの?
(と思ったオレもその手の案件はないけども) すいません質問よろしいでしょうか?
QMLのGridViewに画像を挿入したとき自動的に描画されなくて困っています
スクロールして一旦画面外に出せば描画されるのですがQAbstractListModelに挿入したら即座に再描画させるにはどうすればよいでしょうか?
ちなみにデータはリアルタイムで追加されたり変更されたりします QMLはあんまり触れてないけど、SIGNAL/SLOTに相当する機能あるんじゃないの?(update とか)
明示的にSIGNAL発行しないと更新されないのであれば、
それはそれでお粗末な仕様だけども QtってC#とかより面白よな。なんでもっと売れないんだろう。
やっぱ、何の社会でも金がものを言うなw なんか日本ではプログラムはオタク系のものになってて
本も全部そういう思考で書かれてる。
元々プログラムもセンスある人がトップに入れるものなんだろうけど、
日本はそういう人いないみたいだね。
入門Qt4みたいなセンスがあり、本来のプログラミングの楽しさも味わえる本が日本でも
出てくるといいね。 高い金だして、文系の書いたような本ばっか買って、アホミタイ Qtの関数は、時々ヤバい不具合の起爆剤になってるから
便利だからと言って過信できない点が怖い Qtつまらないよ
Linuxだと他にまともな選択肢がない GUIツールキットはつまらなくていい。
変な動作をされるよりは。 QML使いだしたけどちょっとしたオブジェクトの生成も別ファイル用意するか文字列の引数でコード渡すのか
もっとサクッとできないものか >>869
golang勉強しようかと思ってたがもしかしてC++で事足りるのかな? wtとtreefrogのどちらがよいでしょうか?
LAN内のPCからのみ動画を閲覧できるwebサービスを作る予定です QMLを使ってiOSで動かしてるんだけどスクロールがガクガク何だがどうしてだろう
QMLの描画エンジンのフレームレートを制御する方法ってあるかな? 元々QMLはJavaScriptで動くのが基本なので遅い。
さらにiOSはJavaScriptのJITが無効なのでなおさら遅い。
解決策としてはQMLをネイティブコンパイルする。 QMLの遅さの原因はそこだけじゃない
構造そのものがおかしい まともな定義とはなんぞ
モバイルアプリって範疇なら組込みLinux / Windows も含まれるよな
まぁLinuxデスクトップ相当のUIならそのままAndroid/iOSでもほぼそのままで動くけども >>898
作れるけどそれぞれネイティブで作った方が早いんじゃないの?って気になってくる 速度の話をすればQt使わない方がもちろん速いけどね iOSはともかくとして、鈍重なAndroid SDKをバイパスして
Skiaに直結できるQt 製アプリのほうが高速な可能性まであるぞ。
まあライセンスの問題はどうにもならないけどね。 Qtのスマポってvoid使えないんだな
全部Qtで統一してきたのにそこだけstd:shared_ptrになって不格好 void ポインタ使うのが不格好なのでは?
あまりにも型変換が自由すぎる そもそもQtほど型・インターフェイス継承きっちりやってるライブラリもないのに、
型無視してスマートポインタを使ったら片手落ちだろ。
自動破棄できなくないか。 >>873
QAbstractListModelを使えばデータが変わればGridViewに自動的に描画される。
QAbstractListModelを継承したクラスの実装が間違っていてデータ変更をシグナルで通知していないからだ。 c++20でc++11並に機能が強化されるし最早gui部分以外にqt使いたくないよ プログラム内で呼んだ関数の戻り値一切テストしないプログラムとか書く方が難しそう 例外の難点は想定しうるエラーを把握しにくい点だな。 いちいち戻り値を検証するより例外を投げた方がパフォーマンスは良い
バイナリサイズやメモリ容量の制限が厳しい環境でなければバンバン投げるべき 使ってないね
使ってたら死ぬほど使いにくいものになってただろうな Qtは古いコンパイラや組み込み向け環境にも対応しているから
Q_COMPILER_NOEXCEPT オプションがある。
このフラグは手で設定するものではなく通常Qtのビルド時に
コンパイラのバージョンから自動認識されるものだが手で設定することもできる。 動画を表示するにはQImageをタイミングよく切り替えるといったものが紹介されているのをよく見ます
私が勝手に動画を表示するにはOpenGLと思い込んでいたのですがQImageでもパフォーマンスに問題は無いのですか? デコードのタイミングでGPUを使う手段があるのであって、
そのデコード結果の画像を表示する際に、QImage を使ってるのでは
OpenGLで画像を貼り付けることも可能だろうけど、
そのためだけにそれを使うメリットは門外漢なので思い浮かばない インストールの話なんですが、PythonからQtを使う場合と、C++から使う場合では
インストールするQtは、Python版、C++版をインストールする必要がありますか? え?
OSによっては一度のインストールで済んだり、別々にインストールする必要があったりするんですか? 不親切な対応と思って質問返ししてるのだろうけど、実際必要な情報なんだよ 超久しぶりにインストールしたら、qt 3d studioなるものがインストール欄にあったけど、なんなのこれ?
ソフト開発したら、どういう風に使えるものなの? 質問させていただきます。
ソースコードは長いので、内容を説明させていただきます。
std::threadを使って、重い計算処理を分割して実行し、最後に結果をまとめるということをしています。
通常、実行には6秒くらいかかるのですが、各スレッドから呼ばれるfuncという関数内で
qDebug()を入れて適当な文字を出力すると、0.7秒で完了します。
スレッド数はどちらも8でかわりありませんし、そのほかのソースコードは何一つ変えていません。
qDebugを入れることで何かコンパイルの条件等が変わるのでしょうか。
Qt5.11です。 Qtはオブジェクトの寿命を独自で管理してるから、std::thread
じゃなくてQt::concurrentを使ってくれないか。 なんでそんな「ホモ以外は帰ってくれないか」みたいな言い回しなんだ・・ qDebugは変なコード(localeと合わないエンコードとか)送出すると
コンソール上で異常発生してプログラム終了するときがあるから
デバッグしようとしてそれが原因で目的よりも前のところで落ちる
全然デバッグにならないよω ツールバーをカスタマイズするダイアログってどっかに転がってない? ラムダ式にconnectするのってラムダ式のスコープ外れたらラムダ式ごとコネクションも消えるのかと思ったら残るんだな
非同期難しいわ 何でもQObject継承させて親子関係の連鎖で管理するのとスマートポインタ使うのだとどっちが効率いいんだろう?
とりあえずシグナルを使うクラスだけQObject派生にしてるんだけど アプリの中でキリル文字(ロシア語)が全角文字で表示されてしまう問題があるんだけど、
どうやったら回避できるか知ってる人居ない? >>944
日本語フォントを使ってるんじゃない? キリル文字を表示できる欧文フォントに変更すれば解決できるはず >>945
自動生成される ui_**.h を見る限り、フォントが指定されているように見えない。
海外版のWindowsだと問題ないのかなあ? VB6 から Qt に移行したら、ビルドの遅さに四苦八苦・・・
でも、ccache を導入したら、かなり快適になったで〜 【IT】青梅市のHP開発委託で驚きの記述「CMSにオープンソース(PHP・js・CSS・Linuxなど)を使用するな」「機能追加を無料で行え」
https://asahi.5ch.net/test/read.cgi/newsplus/1561784504/
青梅市ホームページシステム再構築業務委託仕様書のCMSの項目に目を疑う記述。
「なお、オープンソースの使用は認めない」
https://www.city.ome.tokyo.jp/keiyaku/documents/homepageshiyousyo.pdf あるページを見ていて
/// アイコン ダブルクリック時のメッセージ表示動作シグナル/スロット接続
connect(this, &QSystemTrayIcon::activated,
[this](QSystemTrayIcon::ActivationReason reason){
if (reason == QSystemTrayIcon::DoubleClick) {
Message();
}
}
);
という部分があります。で、connectの3番めと4番目の引数の所の[this]以降が自分が理解できません。
https://qiita.com/sazus/items/88daf4949cac06529f88
↑のページです。
どの様なキーワードでググれば答えが見つかるでしょうか?キーワードさえ教えていただければ
後は自分でググッて調べますので。
よろしくお願いします。 QSystemTrayIconがアクティブになった理由がダブルクリックされたというからということはもちろん分かります。
[this]の部分とその後のJavaの内部クラスみたいな書き方の名称がわかりません。 [this](〜){
:
}
はthisが示すオブジェクトにアクセス可能なラムダ式を引数にしてるってことだと思う
C++ ラムダ式
とかで検索すれば出てくると思う
Qt特有の何かってわけではない それはラムダ式だよ。
要するに他の言語でも存在する無名関数を定義してるだけ。
Qt4だと名前ベースのconnectしかできなかったけど、
Qt5からはラムダ式含む識別子ベースのconnectができるようになった。 レス数が950を超えています。1000を超えると書き込みができなくなります。