2011-10-30 34 views
0

pyqt: how to put a border frame around a widget私はウィジェットの周りに境界線を作成しました。私は今、基礎となるプログラムからその境界線を制御できるようにしたいと思います。pyqt:境界ウィジェットの制御

1)ベースウィジェットはQt Designerでクラス名を持ち、そのクラス名をプログラムで使用します。私の国境のウィジェットにクラス名を与えるにはどうすればいいですか?

2)境界ウィジェットのQt Designerで背景色と余白を設定しました。 Qt Designerの設定を上書きするにはどうすればこれらをプログラムに設定できますか?

+0

btw:このトピックに関する以前の質問で私の答えを受け入れましたが、後者のコメントからは完全に解決されたかどうかは不明です。それ以上の助けが必要ですか? – ekhumoro

+0

私はさらに助けが必要です。比較的狭い境界線を設定すると、ウィジェットは右マージンまで伸びません。ありがとう – foosion

+0

'ui'ファイル(またはpastebinリンク)を投稿できれば、問題を診断する方がずっと簡単です。 – ekhumoro

答えて

0

プロパティエディタでobjectNameプロパティを使用してウィジェットの名前を設定できます。クラス名(例:QWidget)は変更できません。

setStyleSheetメソッドを使用して背景色を設定できます。

ヒント:これらの種類の質問の多くは、pyuic4を使用してuiファイルをPythonモジュールに変換することで解決できます。その結果、「完了した方法」を確認できます。これを行うには、コンソールで次のコマンドを実行します。

pyuic4 -o output.py source.ui 

生成されたコードは、通常はそれが必要以上に多くの冗長ですが、それはあなたの進め方の良いアイデアを与える必要があります。

+0

境界に囲まれているクラスに変更されたクラス名があります。この場合、クラスはQWidgetであってもDocumentViewとしてリストされています。プログラムでは、制御するコードは 'class DocumentView(QWebView):' – foosion

+0

です。クラス名はどうして気になりますか?この 'DocumentView'クラスのソースは何ですか?別の 'ui'ファイルで定義されたカスタムウィジェットですか? – ekhumoro

+0

この時点で私は好奇心だけを気にします。 DocumentViewに記載されている唯一のファイルは、uiファイルとコードです。 – foosion

関連する問題