スコープが終わった際に処理をしたい
QMutexLocker, QReadLocker, QWriteLocker のようなクラスは、スコープ内でインスタンスを作っておけば、break や return などでそのスコープを抜けた際に自動で処理をしてくれますが、同じようなもう少し複雑なようなことをしたい場合がたまに...
QMutexLocker, QReadLocker, QWriteLocker のようなクラスは、スコープ内でインスタンスを作っておけば、break や return などでそのスコープを抜けた際に自動で処理をしてくれますが、同じようなもう少し複雑なようなことをしたい場合がたまに...
files(pattern[, recursive=false]) という qmake の関数を使うと簡単にできます。 HEADERS += $$files(*.h) SOURCES += $$files(*.cpp) とすると、同じディレクトリにあるすべての .h ファイルを ...
Qt で HTTP リクエストを行う際には QNetworkAccessManager (通称nam) を利用しますが、基本的には非同期の動作となり、QNetworkReply::finished シグナルを利用して終了時の処理を行います。 ただし、特殊な場合(コマンドラインアプ...
ソース:[Announce] New Qt vulnerabilities 概要 Qt のセキュリティチームから報告があり、Qt のプラグインシステムに、アプリケーションの実行時に任意のコードが実行されうる脆弱性が見つかりました。2箇所対応が必要で、それぞれに ID が振られてい...
この記事は Qt Advent Calendar 2019 13日目の記事です。 きっかけ Qt Advent Calendar 2019 の最後の KDE Free Qt Foundationについて という素晴らしい記事を読みました。 元記事の Safe-Guarding t...
Qt/C++ 側では d-pointer という仕組みが有名ですが、QML でもそんなようなことをしたいですよね。 Qt 6/QML 3 ではスコープ的なものができるようですが、それまでは以下のような実装でしのぐことにしました。 // Private.qml import QtQ...
Qt Blog に Welcome the Qt Champions of 2019! という記事が投稿され、なんと 5年ぶり に Qt Champion に選ばれてしまいました! Qt Champion とは? 2014年にはじまった、毎年その年に Qt に対して貢献をした人の...
この記事は、Qt Advent Calendar 2019 17日目の記事です。 はじめに デザイン由来の QML ツリーがあり、プログラミング的に直接そこはいじりたくない場合が最近よくあります。 import QtQuick 2.12 import QtQuick.Window...
この記事は Qt Advent Calendar 2019 5日目の記事です。 Qt.vector4d(color.r, color.g, color.b, color.a) のように、color 型の変数(もしくはプロパティ)の r, g, b, a 要素でアク...
この記事は Qt Advent Calendar 2019 3日目の記事です。 解決したい問題 QML で使うデータの API が、配列的になっているべきにも関わらず、data.a1, data.a2, data.a3 のような名前になっている場合が稀によくあります。 エクセルか...