2017-06-23 5 views
0

実際に私のQVBoxLayoutフレームでPyQt 5のものを変更しようとしていますが、前のフレームからすべての設定をインポートしているようです。ここでPyQt 5のVBoxLayoutのフレームを変更することはできますか?

は私のコードです:

class UpdateFrameVBox (QtWidgets.QFrame): 

def __init__(self): 
    super().__init__() 


    self.setStyleSheet('background-color: white;' 
         'border: 5px solid #4f4f51;' 
         'border-radius: 5px;' 
         'margin: 5px;' 
         'padding: 5px;') 

    self.setLayout(QtWidgets.QVBoxLayout() 


    for i in range (5): 
     self.layout().addWidget(QtWidgets.QFrame()) 

は私がthoses VBoxLayoutsのフレームのみを変更するための方法はありますか?

パシフィックに感謝します。初心者の質問には申し訳ありません。

答えて

0

スタイルシートがカスケードしていることに注意してください。つまり、子でオーバーライドしない限り、親から継承します。あなたのスタイルシートには、{というオープニングがありません。スタイルシートが悪い場合は、それを黙って無視して親を保持します。スタイルシートをトリミングして、明らかな変化を示す最小限のものにしてから、そこから構築してみてください。

+0

{私のコードでは、私の問題をリソースで解決しようとしました。なぜなら、1つのトピックで見つかったリソースは、.UpdateFrameVBox {私のsetStyleSheetの先頭にあります。私はすでにそれを編集しました、ありがとう:) –

+0

その場合、問題を示す最小限の例を提供できますか? – metal

+0

例:私のコードで、ボーダーを5pxの代わりに10pxに変更すると、外側のフレームはこれらの変更を適用しますが、VBoxLayoutに追加する内部フレームも変更されます。私はそれが変わることを望んでいない、私は彼らがStyleSheetを所有することを望む。 –

関連する問題