2017-10-12 16 views
1

QColorDialogのサイズを変更することはできますか?私はウィンドウを適切にサイズ変更することができませんでした。ダイアログが表示されたら、デフォルトのサイズに戻ります。QColorDialogのサイズを変更するには

例:それはサイズを変更できるように設計されていないいくつかのカスタムのウィジェットが含まれているため

import sys 

from PyQt5.QtGui import * 
from PyQt5.QtWidgets import * 
from PyQt5.QtCore import * 

class Window(QWidget): 
    def __init__(self): 
     super().__init__() 

     layout = QVBoxLayout() 
     push_Button = QPushButton() 
     layout.addWidget(push_Button) 

     push_Button.clicked.connect(self.button) 
     self.setLayout(layout) 

    def button(self): 
     color = QColorDialog(self) 
     color.resize(100,100) 
     print(color.size()) #Prints 100, 100 
     color.show() 
     print(color.size()) #Prints 551, 431 

if __name__ == '__main__': 

    app = QApplication(sys.argv) 
    window = Window() 
    window.show() 
    sys.exit(app.exec_()) 

答えて

1

QColorDialogは、固定サイズを持っています。リサイズの少しでもとめちゃくちゃあなたが見るように、レイアウトは迅速になり、しかし

color = QColorDialog(self) 
    color.setSizeGripEnabled(True) 
    color.layout().setSizeConstraint(QLayout.SetNoConstraint) 
    color.show() 

:これらの制約をオーバーライドして、このような手動のサイズ変更を可能にするためにpossbleそれです。また、ある点を越えて、浮動小数点例外のためにダイアログが実際にクラッシュすることがわかった。だから私はあなたがそれをそのまま受け入れるか、おそらくあなた自身のカラーダイアログを書く必要があると思います。

関連する問題