如何调整 QColorDialog 的大小
How to resize a QColorDialog
是否可以调整 QColorDialog
的大小?我一直无法让 window 适当地调整大小。显示对话框后,它将恢复为默认大小。
一个例子:
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_())
QColorDialog
具有固定大小,因为它包含多个自定义小部件,这些小部件并非设计为可调整大小。 可以覆盖这些约束并允许像这样手动调整大小:
color = QColorDialog(self)
color.setSizeGripEnabled(True)
color.layout().setSizeConstraint(QLayout.SetNoConstraint)
color.show()
但是,正如您将看到的,布局很快就会变得一团糟,即使是稍微调整一下大小。我还发现,超过某个点,对话框实际上会由于浮点异常而崩溃。所以我认为您要么必须按原样接受它,要么编写您自己的颜色对话框。
是否可以调整 QColorDialog
的大小?我一直无法让 window 适当地调整大小。显示对话框后,它将恢复为默认大小。
一个例子:
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_())
QColorDialog
具有固定大小,因为它包含多个自定义小部件,这些小部件并非设计为可调整大小。 可以覆盖这些约束并允许像这样手动调整大小:
color = QColorDialog(self)
color.setSizeGripEnabled(True)
color.layout().setSizeConstraint(QLayout.SetNoConstraint)
color.show()
但是,正如您将看到的,布局很快就会变得一团糟,即使是稍微调整一下大小。我还发现,超过某个点,对话框实际上会由于浮点异常而崩溃。所以我认为您要么必须按原样接受它,要么编写您自己的颜色对话框。