0

いくつかの写真とgifアニメーションがあるディレクトリがあります。その写真とアニメーションをQDialogに無限ループで投稿したい(2分間隔で周期的に写真を変更することにより)、その写真とアニメーションにリンクを設定して、ブラウザをクリックすると設定されたリンクが開くようにします。

どうすればこれを行うことができますか?

ディレクトリ内のすべての .jpg および .gif ファイル名 (フル パス) を取得する方法を知っていると考えてください。QStringList fileNameList があると考えてください。そのフルパスが含まれています。

4

2 に答える 2

1

これには 2 つの QLabel を使用できます。最初のものは jpg などの静止画像に使用され、2 つ目はアニメーションに使用されます。最初のものでは、setPixmap を使用して画像を設定できます。2 つ目では、コンストラクターで gif ファイルを指定して QMovie オブジェクトを作成する必要があります。オブジェクトが作成されたら、setMovie() 関数を使用してムービーをラベルに割り当てることができます。

QMovie オブジェクトで start() を呼び出すまで、ムービーは開始されません。

これにより、アニメーションと静止画ができます。2 秒ごとに変更したいので、すべてのファイル名を QList に保存し、QTimer を使用して次のファイル名を読み取り、それをラベルの 1 つ (静止画像または他のもの) にロードすることをお勧めします。表示されないものを非表示にします。

リンクを開くには、QLabel クラスをサブクラス化し、mousePressEvent メソッドをオーバーライドします。メソッド内で QDesktopServices::openExternalLink(link) を呼び出すことができます。サブクラスのメンバーとしてリンクを追加できます。

幸運を!

于 2010-06-11T08:41:33.273 に答える
0

QLabel::setPixmapを使用して、ラベルに画像を表示できます。

于 2010-06-10T17:53:16.657 に答える