抱歉,我之前的回答中有错误。PySide6中没有`setDefaultMessageBoxSize`这个方法来设置消息框的默认大小。我们可以通过创建一个自定义的消息框来解决这个问题。以下是修改后的代码:
from PySide6.QtWidgets import QApplication, QMessageBox, QWidget, QPushButton
class BaseWindow(QWidget):
def __init__(self):
super().__init__()
def set_default_message_box_geometry(self, msg_box, x, y, width, height):
"""
设置消息框的位置和大小
:param msg_box: 消息框对象
:param x: 消息框左上角的 x 坐标
:param y: 消息框左上角的 y 坐标
:param width: 消息框的宽度
:param height: 消息框的高度
"""
msg_box.setGeometry(x, y, width, height)
class MyWidget(BaseWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.exit_button = QPushButton("退出", self)
self.exit_button.clicked.connect(self.confirm_exit)
self.show()
def confirm_exit(self):
msg_box = QMessageBox(self)
self.set_default_message_box_geometry(msg_box, 100, 200, 200, 150)
reply = msg_box.question(
self, "确认", "是否要退出?",
QMessageBox.Yes | QMessageBox.No
)
if reply == QMessageBox.Yes:
QApplication.instance().quit()
if __name__ == "__main__":
app = QApplication([])
widget = MyWidget()
app.exec()
在这个修改后的代码中,我们创建了一个自定义的`set_default_message_box_geometry`方法,用于设置消息框的位置和大小。在`confirm_exit`方法中,我们创建了一个`QMessageBox`对象,并将其传递给`set_default_message_box_geometry`方法来设置位置和大小。这样就能实现你想要的效果。
非常抱歉给你带来了困扰,并感谢你的指出。如果还有其他问题,请随时提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |