Qtのソースを表示
新しいページはコチラ
移動:
案内
,
検索
[[メインページ#言語と開発環境|言語と開発環境]]へ戻る。 == '''概要''' == C++のオープンソースGUIライブラリで管理人が最も信頼を寄せるライブラリ群です。Qtライブラリを使うというのはしないんですけれども、ライブラリの作り方を見ると、あー、こうやってWindowsを操るのか!とGUIプログラミングのやり方を教えてくれる存在です。スプレッドシートも各種コントロールもフォントも、ツリーもハイパーテキストビューもメンテナンス性の高いやり方を知ることができます。使いやすさ。デザインのしやすさ。大事ですね。 Qt Creater(VisualStudioをインストールした環境でVCコンパイラを利用します。MinGWもいれれば、GCC版を使うこともできます。UWPでユニバーサルWindowsプログラミングもできます。Androidの開発、Linux Unix、iOSとクロスプラットフォーム対応もすすんでいて、あらゆる人気のOSに対応したライブラリをメンテナンスするパワーがあれば、Javaや.NetFrameworkというこざかしいことは必要ない。そんな感じのことを実現していると思います。)でQtライブラリに頼り切ったアプリケーション開発(Qt Quickと呼んでいるみたいです。)もできますが、お遊び程度で楽しんでます。ものすごい、すばやくWinアプリを構築できてGUIも思いのままという感じです。C++というよりはCSS程度の記述とJavaScript程度の合わせ技で、Win32アプリをあやつるという特殊なことになってしまっています。ライブラリがすごすぎて、もう複雑なプログラミングを必要としない領域まで来てますよね。もちろんVisualStudio側からQtライブラリを呼び出してC++言語で操ることもできます。あるいはOpenソースなので、中身をみて、勉強して、独自のソースコードにしていくことも可能です。 頼り切ってしまうと、C++を使っている意味がなくなるので、自分で確かめながら動かしたいという自分みたいな暇人には向かないシステムです(通常の人は暇が少ないので、非常に効率もよく、超高速開発ができると思います)。もともとはTrollTechさん→ノキアさん→ディジアさん→Qt Project(The Qt Company)さんが買収をして、運営しているのかな。商用利用する場合は有償版を買わないとダメです。実績はすごいです。Skype もGoogleMapもQtで出来ていると言われています。 ライブラリをインストールすると30GByteくらい容量を使います。持ち運ばないノートPCの方にいれていますのでリモートデスクトップでつないで、自宅でいろいろ活用してます。助かる。Qt4くらいの参考書はいっぱい出回ってますが、今(2018-11時点)はVersionが5.11.2くらいなのでQt5ですね。Qt5対応の参考書もちらほらみかけます。 === '''Qtリファレンス''' === 関連リンク *[[C PlusPlus#C++からの技術|C++リファレンス]] *[[Windows#MSVC_Runtimeリファレンス|MSVC Runtimeリファレンス]] 管理人が出会って、覚えた順です。 '''<span style="color: darkpurple;">リソース制御</span>''' *[[Qtリファレンス qmlRegisterType]] リソース登録 '''環境変数''' *[[Qtリファレンス QtGlobal]] :*[[Qtリファレンス QtGlobal::qEnvironmentVariablesSet]] 環境変数登録確認 :*[[Qtリファレンス QtGlobal::qputenv]] 環境変数の設定 :*[[Qtリファレンス QtGlobal::qgetenv]] 環境変数の取得 '''標準出力''' *[[Qtリファレンス QtGlobal::qInstallMessageHandler]] 標準出力に対する機能最適化 *[[Qtリファレンス QtGlobal::qSetMessagePattern]] 標準出力に対する表示最適化 '''アプリケーション設定''' *[[Qtリファレンス QtApplication]] :*[[Qtリファレンス QtApplication::setDesktopSettingAware]] システムカラーやフォントの利用 *[[Qtリファレンス QCoreApplication]] :*[[Qtリファレンス QCoreApplication::setAttribute]] アプリケーション全般機能の設定 :*[[Qtリファレンス QCoreApplication::setOrganizationName]] アプリケーション全般機能の設定 :*[[Qtリファレンス QCoreApplication::setOrganizationDomain]] アプリケーション全般機能の設定 :*[[Qtリファレンス QCoreApplication::setApplicationVersion]] アプリケーション全般機能の設定 *[[Qtリファレンス QAccessible]] :*[[Qtリファレンス QAccessible::installFactory]] *[[Qtリファレンス QSettings]] :*[[Qtリファレンス QSettings::setDefaultFormat]] :*[[Qtリファレンス QSettings::IniFormat]] '''機能管理・使用するクラスの登録''' *[[Qtリファレンス qRegisterMetaTypeStreamOperators]] クラス管理・演算子機能登録 *[[Qtリファレンス qRegisterMetaType]] クラス管理・演算子機能登録 *[[Qtリファレンス QMetaType::registerStreamOperators]] クラス管理・演算子機能登録 *[[Qtリファレンス QtMetaTypePrivate::QMetaTypeFunctionHelper-TypeTemplate-::Save ::Load]] クラス管理・演算子機能登録 '''機能的な変数・コンテナ''' *[[Qtリファレンス QString]] 文字列 *[[Qtリファレンス QByteArray]] バイナリー・バイト配列 *[[Qtリファレンス QTextCodec]] テキスト文字列コーデック機能付き *[[Qtリファレンス QFile]] ファイル *[[Qtリファレンス QDir]] フォルダ :*[[Qtリファレンス QIODevice]] :*[[Qtリファレンス QIODevice::ReadOnly]] *[[Qtリファレンス QStandardPaths]] :*[[Qtリファレンス QStandardPaths::writableLocation]] :*[[Qtリファレンス QStandardPaths::CacheLocation]] === '''Qt VS Tools 導入''' === Visual Studio 2015 あるいはVisual Studio 2017にAdd-inとしてQtを導入するという方法があります。Debugすると固まることがよくあるので、使いにくいのが、管理人の現在地です。導入自体は、ググって出てくる古い記事よりは便利になっているみたいです。 *手順 : 1.Qtをインストールする。現状は5.11.2ですね。30GBくらい必要です。 : 2.MinGWをインストールする最小構成でいいです200MByteくらいかな?MinGWインストールツールでBasicSetUpの項目あるやつを全部いれたら十分っすね。たぶん、いっちゃん上のとg++だけでいいんでしょうけど。それ以前からMinGWを使っていて古いMinGWとかならはまるかもしれないですね。管理人はMinGWは、Qtを使うために、はじめてインストールしました。 : 3.Visual Studioから[ツール]-[拡張機能と更新プログラム]を選択して、オンラインの項目に合わせます。すんごいいっぱい拡張機能が提供されているので、検索の欄に"Qt"といれるとかなり絞られます。そこから Qt Visual Studio Toolsを選択して、インストールボタンを押します。インストールがおわったらDialogを閉じます。Visual Studioを再起動します。すると、Visual Studioに2つほどの大きな変化が起こります。1つは、メニューにQt VS Toolsという項目が出来ること。2つはプロジェクトの新規作成のVisual C++のテストの項目の中にQt関係のプロジェクトを作成するための5つくらいの項目が増えるということです。まだ、この時点では新規作成とかをすると固まります。 : 4.あたらしく出来たメニュー[Qt VS Tools]-[Qt Options]を選択してVersionsタブを選択した状態でAddを押します。名前は任意なので好きなものを付けてくれたらいいんですけど5.11.2という現在利用中のQtのバージョンとVSのバージョンとWin64orWin32くらいの情報を含めて、例えばですよ「VS2017Win64_5.11.2」とかって名前を付けるのがいいんじゃないかと思います。プロジェクト作成中にこの名前を再度使ったりすることはないので、多少長くても問題は起こらないと思います。いくつか作れますが自分みたいにQtをインストールしたときに30GByteくらいのひとつのバージョンに対する最大構成くらいのインストールをしていないと、いくつものプロジェクト構成を立ち上げてのQtプロジェクト開発は出来ないと思います。自分は欲張りではないので、VS2015にVS2015のWin64とVS2017にVS2017のWin64をひとつづつ設定しました。え、VS2015とVS2017を同じPCに入れてるだけで十分欲張り?そうかもしれない。で、パスにはC:\Qt5.11.2\msvsc2017_64フォルダを選択して入力します。Qtのデフォルトインストールパスならの例です。それぞれの環境に合わせてフォルダは選択する必要があります。Visual Studio2017でWin64環境の開発をするなら2017_64だしWin32開発をするならmsvsc2017_32(あるいは単にmsvsc2017)を選ぶといいんじゃないかな? これでQtをVisual Studioで使えるようになったと思っていいと思います。試しに新規プロジェクト作成で、Visual C++のテストの項目の中から、Qt GUI Applicationを選択して、次へ次へでプロジェクト新規作成ダイアログを進めて、ビルドして、デバッグ無しで実行とかはスムーズに出来るようになったと思います。デバッグとかを動かすと固まることがあるのは管理人だけかもしれません。デバッグしにくい…。かたまるの怖い。素直にQt Creater使っとけって言われそう。まぁまぁ。安定してデバッグできるような環境になったら、また報告しますよ。あとはQtの参考書でも読みながら、Qtライブラリを活用した開発を好き勝手にやって下さい。管理人は、Qtライブラリを使った開発をやってソースコードを追うという作業を楽しみます。頭のいい人たちのライブラリ作成手法を勉強します。Qt DesignerとかあるからリソースエディターなくてもExpressEditionで頑張って開発するというのもやりやすくなるんかな。自分は勉強用に使ってるだけなのでVisual Studio Communityエディションだし…それのリソースエディタ使いますけど。 === '''Qt Quick 2.0対処法''' === Qt Quickを少し使っただけでハマった罠についての記事です。ようするに万能のようで、他人が作ったものなので、謎も多いというのが率直な感想です。やっぱ読み解ける人でないと使いこなすのは難しいのかもしれません。超高速開発の裏で巻き起こる謎ロスは発生します。ちょっと触っただけの素人でも、あっさり問題に出くわすんすから、極めていくには、もっと多くの壁にぶつかってしまうんでしょうね。そんな気がします。でも、たいしたことない壁ばかりっすよ。きっと。自分でいろいろイチカラ開発してたら、膨大な時間がかかるところをサクサク開発できますからね。C++に戻ることもできるし、GUIライブラリとしては、いいんじゃないでしょうか。 *'''libpng warning: iCCP: known incorrect sRGB profile''' : Adobe PhotoShop CC 2015とかでpngファイルのカラープロファイル設定を変更(解除:つまりチェックを外した状態に)して保存しなおす必要があります。libpngがへぼいね。でも、しょうがないね。進化が激しすぎるんで全部は対応できない。 [[ファイル:20181202 iCCP Unlock.png|600px|thumb|none|iCCP カラープロファイルの解除]] *'''<span id="red_color">depends on non-NOTIFYable properties(未解決)</span>''' : むむむ、なんだこの警告は。CONSTがどうのこうのと言っている人がいる。非通知不可属性に依存した変数がある。っつってますね。いやっす。property string strValue: "strValue"ってな感じで定義しただけなのに *'''LocalStorage.openDatabaseSyncを使ったときのDBの生成・作成・保存先''' : Windowsでは : C:\Users\[UserのID]\AppData\Local\QtProject\QtQmlViewer\QML\OfflineStorage\Databases : に保存されます。.iniファイルにDB名、バージョン番号、DBの説明、容量について記載されています。.sqliteファイルはバイナリー形式なので、sqliteフォーマットのとおりに保存されていると思います。 [[メインページ#言語と開発環境|言語と開発環境]]へ戻る。
Qt
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ