2017-10-12 64 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具有固定大小,因爲它包含未設計成可調整大小的幾個定製窗口小部件。這 possble覆蓋這些限制,並允許手動調整大小是這樣的:

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

然而,正如你所看到的,佈局迅速成爲與調整的哪怕是一點點混亂。我還發現,超出某個特定點,由於浮點異常,對話框實際上會崩潰。所以我認爲你要麼必須接受它,要麼編寫自己的顏色對話框。

相關問題