retireSakiの日記

たぶん引退した?ソフトウエアエンジニアのブログ

Develop-Qt

QtのQSqlDatabaseでドライバーがロード済かどうか判断する方法

QSqlDatabaseを使ったデータベースドライバーは、基本的にアプリ内で1回ロードすることを推奨しています。 QSqlDatabase db = QSqlDatabase::addDatabase(<driver>); mainwindowなどで一度callして、使いまわすのが妥当です。しかし、クラスの相関関係などで、どうし</driver>…

Qt QFileDialog のサイドバー表示フォルダーをGTKのbookmarksを使って、ほぼ同じようにするサンプルコード

QtのQFileDialogは、どうしようもなく使いづらいく、エンドユーザーも含めて不評です。 その原因も一つがサイドバーです。 そこで、GTKを使ったデスクトップ環境限定ですが、QtのQFileDialogのサイドバーをGTK環境のオープンファイルダイアログに近い状態に…

Qtで開いたファイルパスを履歴保存して、メニューに表示・ファイルを開く

今回は前回作成した retiresaki.hatenablog.com をベースに、開いたファイルの履歴保存とメニューに『最近開いたファイル』として一覧表示の機能を追加します。 ファイルの履歴機能は、多くのアプリが実装していますが、メニュー処理にちょっとしたコツがあ…

Qtで多重起動禁止とパラメータ付きの起動とコマンドヘルプ表示

今回は前回作成した retiresaki.hatenablog.com をベースに、多重起動禁止とコマンドでパラメータ起動とコマンドヘルプの機能を追加します。 アプリによっては多重起動を禁止にしたい場合もあります。 多重に起動しようとした場合は、その起動をキャンセルし…

Qt でドラッグアイテムを受取る方法

今回は前回作成した retiresaki.hatenablog.com をベースに、ちょっと便利な機能を追加します。 アプリで扱うファイルは、通常ファイルダイアログなどを通じて取得します。 ファイルを開く場合、ファイルダイアログの他Nautilusなどのアプリからのドラッグ&…

QtでXSPF形式のプレイリストファイルの内容をツリー表示するアプリの開発

久しぶりのQt記事です(^^ゞ 今回はXSPF形式のプレイリストの内容を表示するアプリ(作成途中ですw)を紹介します。 XSOF形式のプレイリストは、XML形式でかなり柔軟性の高いプレイリストです。

Qt でコンパイル時に 'ignoring old recipe for target' と警告が出た時の対処方法

Qtのプロジェクトをコンパイルしていると突然..."Makefile:nnn: 警告: ignoring old recipe for target 'xxx.h'"のような警告が表示されるようになることが多々あります。

GTKmm (3.0) と glade によるアプリ (6) - (Qtでも使える)アプリケーションの多重起動の防止 v2

今回は、前回の"GTKmm (3.0) と glade によるアプリ (5) - アプリケーションのアイコンをセット "で作成したプログラムをベースに、アプリケーションの多重起動の防止の改良を行います。 retiresaki.hatenablog.com 今回改良で、もう少しだけシステム負荷を…

Linuxの基本ディレクト構成などのルールとglib(glibmm),Qtの基本ディレクトリーの取得関数

今回は、アプリケーション開発に必要な知識の1つとしての基本ディレクトリーの構成などのルールの説明やGTK(glib, glibmm)とQtの基本ディレクトリーの取得を実例で比較してみます。 QtだろうがGTK だろうがアプリケーションの多くは共通したディレクトリー構…

GTKmm (3.0) と glade によるアプリ (2) - アプリケーションの多重起動の防止

ランチャーに登録されているアプリケーションは、アイコンをシングルクリックで起動できるにもかかわらず、ダブルクリックしてアプリケーションを「二重起動(多重起動)してしまった!」なんてことはありませんか? 私はたまにというか、よくやってしまうの…

QFileDialog に関するテクニック (2)

QFileDialog に関するテクニック (2) 今回はQt(C++)のQFileDialogに関するテクニック(2) です。 使用するOSは、Ubuntu 18.04 LTS, Qt 5.9.5, x86_64-linux-gnu-g++-8 です。 前回、Qtの標準ダイアログのサイズを拡張する方法を紹介しましたが、今回はヘッダ…

QFileDialog に関するテクニック (1)

今回はQt(C++)のQFileDialogに関するテクニックです。 使用するOSは、Ubuntu 18.04 LTS, Qt 5.9.5, x86_64-linux-gnu-g++-8 です。 QFileDialogの現時点のバグの1つに、表示されるダイアログがOSのNativeダイアログで表示されないケースがあります。Qtの標…

注目記事

「Amazon.co.jpアソシエイト」または「[乙の名称を挿入]は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。