5

wxglade で作成したアプリがあります。mp3:s を再生できるようにメディア コントロールを追加しました。mediacontrol がない場合、アプリは 800x600px のフレームで開始されます。しかし、メディアコントロールを追加すると、フレームが非常に小さくなります。これは、サイザーに追加していないためだと思います。しかし、私はそれをしなければなりませんか?とにかく、メディアコントロールは何も表示しないはずです。

それで、私の質問は、(a)wxgladeでGUIを更新する可能性を壊さず、(b)適切なサイズで開始する機能を失うことなく、アプリにメディアコントロールを追加するにはどうすればよいです?

# Begin wxgladeできれば、との間には何も入れません# End wxglade。wxglade で GUI を変更すると、それが破壊されるためです (以前のテストによると)。

編集:私が提供したコードスニペットは、興味深いものを何も追加していません。また、同じ質問を持つ他の人がこの回答を見つけられるように、質問をより明確に編集しました。

4

1 に答える 1

4

速いトリック:

  1. ウィジェットがあるべき場所に、wx.Panelwith wxGladeを挿入しmymediactrl、たとえば、の代わりに名前を付けmypanelます。
  2. 次に、スクリプトを生成した後、MediaControlクラスをwxgladeによって許可された(書き込み不可の)場所('#begin wxGlade'および'#end wxGladeで区切られたセクションの外側のスペース)にインポート(またはコードを挿入)ます。'タグ)。
  3. 最後にmymediactrl=wx.Panel(...)、スクリプトの行を自分 のmymediactrl = MediaControl(...)行で手動で変更します。注:この行は、wxgladeによって書き換えられるため、GUIを変更するときに手動で維持する必要があります。

正しい方法:

wxgladeウィジェットセットのCustomWidgetウィジェットを使用できます。これは、wxgladeの経験がある場合に推奨される方法です。

ここに画像の説明を入力してください

Proメソッド:

独自のカスタムウィジェットをwxgladeウィジェットセットに追加できます。ここにいくつかの例とそれを行う方法のチュートリアルがあります

于 2012-01-20T13:03:31.157 に答える