問題タブ [qsettings]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
key - INIファイルから複数の同一のキーを読み取るQSettings
QSettings を使用して INI ファイル (INI 形式である必要があります) からキーと値のペアを読み取ります。同じキーで 0 個以上のキーと値のペアを保存する必要がある場合があります。例えば:
これは QSettings に受け入れられますか? QSettings を使用してこれらすべてのキーと値のペアを取得するにはどうすればよいですか? (QStringリストとしてすべてを返しますか?)
c++ - QSettings は string 値と int 値を区別しません
ファイルに基づくオブジェクトを使用して、string 値と int 値を読み書きしていQSettings
ます。後で別のプロセスから値を読み取ろうとすると、値は int ではなく文字列として読み取られます。
これは、値を書き込むために使用しているコードです。
作成されるファイルは次のとおりです。
これは、値を読み取るために使用しているコードです。
同じプロセスからこのコードを実行すると:
このコードを別のプロセスから実行すると:
読み取った後に型を変換できることはわかっています。残念ながら、この解決策では Windows の従来のクロスプラットフォーム コードを変更する必要がありますが、これは変更したくありません。たとえば、RegQueryValueEx()
.
文字列と整数の型情報を保存して読み取ることはできますか?
たとえば、文字列には引用符が""
あり、整数にはありません。
この問題は、Linux 上の Qt 4 と Qt 5 の両方に存在します。
android - QSettings が Android の Qt で適切に機能しない
Android で実行する qt アプリケーションにユーザー資格情報を保存したいと考えています。私はこのように QSettings を使用します:
私はアプリを再起動し、私が持っている initialize() メソッド内で:
ユーザー名とパスワードの変数は、QSettings から読み取られません。
同じコードが Windows でも機能しています。
ありがとうございました
qt5 - 設定ファイルでキー=値ペアの順序を変更するQSettingsを停止するには?
私のプログラムには、便利QSettings
なクラスを使用して作成、編集、保存された Microsoft の INI スタイルの設定/構成ファイルがありますが、ユーザーは、プログラム自体、gedit
またはvim
. key=value のペアが現れる順序は重要です。問題は、シャットダウン時に変更を保存しようとするたびに、キー=値のペアの順序がランダムな順序に変更され、QSettings
変更を止めることができないように見えることです。明確にするために、構成ファイルのサンプルを次に示します。
これは次のように変わります:
順序の変更を回避することは可能ですか? なぜQsettings
このように振る舞うのですか?
macos - QSettings mac および plist ファイル
クラスを使用して設定を保存するQSettings
と、奇妙な動作が発生することがあります。
これを使用して値を追加します。
そして、これはすべての値を削除します:
そして、それはランダムに動作するようです。ファイルに値を追加または削除することもあり.plist
(を使用してチェックしました_settings.fileName()
)、何も変わらないこともあります。
暗黙のような私の質問は、何が欠けているのか、それを正常に機能させる方法は何ですか?
qt - Qt qsettingsは引用符で値を保存します
いくつかの値をiniファイルに保存しようとしましたが、次のように値を1つだけ保存しても問題ありません。
- AAA=BBB
しかし、次のようないくつかの値を保存しようとすると、問題が見つかりました:
- AAA=BBB;CCC
保存したい場合は問題ありませんが、この値を読み取りたい場合は、BBB のみが取得されます。この問題の解決策を見つけました。値が引用符で囲まれている場合、通常どおり読み取られます。
- AAA="BBB;CCC"
しかし、引用符で値を保存する方法がわかりません。値を保存するために、次のコードを使用します。
ASCII 記号と "\"" を使用して保存しようとしましたが、うまくいきません。保存コード:
コードを読む:
ini ファイル:
[設定]
CommonIncludes="C:/dev/ObfOr/Workset_latest;C:/dev/ObfOr/Workset_latest/Demo"
c++ - QTで最小化されたアプリを起動した後、最大化/通常のウィンドウを復元します
Qt アプリに問題があります。アプリの qeometry を問題なく保存および復元できます。問題は、close イベントで最大化されたアプリの saveGeometry を試みた後、最小化されたアプリ (「起動時に最小化して実行」など) を起動しようとしたときです。それを行ってタスクバーのアイコンをクリックすると、ウィンドウは通常のウィンドウとして開きます(最大化されていません)。
いくつかの回避策をイメージ (および記述) することはできますが、すべての Gui ロジックを使用すると、ネイティブな方法を好むという間違いを犯しやすくなります。最小化後にウィンドウを最大化または通常に設定できる場合、パラメータのようなものを探しています。
アプリを最大化して起動すると、この問題は発生しません。次にウィンドウを最小化し、再度最大化します。この場合、すべて問題ありません。問題は起動時のみです。
些細なことのように見えますが、日常的に使うアプリや、日常的にウィンドウを持つことができないアプリを考えると、これは大きなことだと思います。
編集:
数時間後、私はあきらめます。これが私の回避策です。まだ十分にテストされていませんが、将来誰かがそれを必要とするかもしれません. エラーまたはより良い解決策が見つかった場合は編集します。
windows - QSettings の復元により、QDockwidget がない場合に show() でアプリがフリーズする
私は.dllをロードするQtアプリケーションを持っています.dllは.dllにQDockwidget
ウィジェットを追加しますQMainWindow
. サイズとジオメトリを維持するために、それらを保存していますQMainWindow
そして起動時に設定を読み返します
呼び出す直前show()
。
アプリを実行して閉じてから、dll の 1 つを削除すると (QDockwidget
起動時に以前に読み込まれたものを効果的に削除します)、アプリはshow()
呼び出しでフリーズしQMainWindow
ます。レジストリ フォルダ (私は Windows を使用しています) を削除することで、アプリケーションを適切に起動できますが、HKEY_CURRENT_USER\Software\MyCompany\MyApplication\MainWindow
そこに保存されている他のすべての情報が失われます。
私が望むのは、UI が、QDockWidget
すべてのジオメトリと状態情報を破壊するというナンセンスではなく、失われたものが隠され、決して復元できないかのように表示されることです。
誰もこの問題を見たことがありますか?それも解決!?! ヒント、ヒント、または回避策を教えていただければ幸いです。
乾杯