2

Qtでタイムゾーンを設定する方法を教えてもらえますか? 現在、Linux の system() 呼び出しを使用してタイム ゾーンを設定していますが、これが Qt の currentTime() API に反映されていません。Qt 5 以降には setTimeZone() API がありますが、その使用方法がわかりません。前もって感謝します。

4

2 に答える 2

1

QProcess を使用する代わりに、代わりに QDBus を使用することをお勧めします。

qdbus コマンド ライン呼び出し:

qdbus --system org.freedesktop.timedate1 /org/freedesktop/timedate1 org.freedesktop.timedate1.SetTimezone Europe/Berlin false

Qt コード:

QDBusInterface timedated("org.freedesktop.timedate1", "/org/freedesktop/timedate1", "org.freedesktop.timedate1", QDBusConnection::systemBus());
QDBusPendingReply<> setTz = timedated.callWithArgumentList(QDBus::Block, "SetTimeZone", {"Europe/Berlin", false});
于 2019-12-10T17:00:08.340 に答える