是否可以调整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_())
答案 0 :(得分:1)
QColorDialog
具有固定大小,因为它包含多个自定义小部件,这些小部件并非设计为可调整大小。 可能会覆盖这些约束并允许手动调整大小,如下所示:
color = QColorDialog(self)
color.setSizeGripEnabled(True)
color.layout().setSizeConstraint(QLayout.SetNoConstraint)
color.show()
但是,正如您将看到的那样,即使稍微调整大小,布局也会很快变得混乱。我还发现,超过某一点,对话框实际上会因浮点异常而崩溃。所以我认为你要么必须接受它,要么就是写自己的颜色对话框。