清風 发表于 2024-2-24 14:07:32

QMessagebox设置.

请问Qt6 中,QMessageBox.question如何设置字体,颜色等格式?

然后,如何判断用户选择内容并做出反应?

FishC 发表于 2024-2-24 14:07:46

在Qt6中,你可以通过自定义样式表来设置QMessageBox的字体、颜色和格式。首先,你需要创建一个QMessageBox实例并设置它的样式表。

from PyQt6.QtWidgets import QMessageBox

msgBox = QMessageBox()
msgBox.setText("这是一条消息")
msgBox.setStyleSheet("QMessageBox QLabel { color: red; font-weight: bold; }")

button = msgBox.exec()

if button == QMessageBox.StandardButton.Yes:
    # 用户选择了"Yes"按钮
    print("用户选择了Yes")
elif button == QMessageBox.StandardButton.No:
    # 用户选择了"No"按钮
    print("用户选择了No")

在上面的代码中,我们使用`msgBox.setStyleSheet()`方法来设置样式表。在样式表中,我们使用了CSS选择器`QMessageBox QLabel`来选取QMessageBox内部的标签,然后通过设置`color`属性来改变字体颜色,通过设置`font-weight`属性来设置字体粗细。

关于用户选择内容的判断,我们使用了`msgBox.exec()`方法来显示对话框,并等待用户选择按钮。该方法将返回用户点击的按钮,我们可以通过与`QMessageBox.StandardButton`枚举中的按钮进行比较来判断用户的选择。常见的按钮包括`Yes`、`No`、`Cancel`、`Ok`等。

希望上述代码对你有所帮助!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

清風 发表于 2024-2-24 14:11:14

FishC 发表于 2024-2-24 14:07
在Qt6中,你可以通过自定义样式表来设置QMessageBox的字体、颜色和格式。首先,你需要创建一个QMessageBox ...

这个只有一个按钮啊.....

FishC 发表于 2024-2-24 14:11:26

清風 发表于 2024-02-24 14:11
这个只有一个按钮啊.....

抱歉,我之前的回答有误。实际上,QMessageBox.question 会显示一个包含"是"和"否"两个按钮的对话框。下面是正确的代码示例:

from PyQt6.QtWidgets import QMessageBox

reply = QMessageBox.question(None, "标题", "这是一条消息",
                           QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No)
if reply == QMessageBox.StandardButton.Yes:
    print("用户选择了是")
elif reply == QMessageBox.StandardButton.No:
    print("用户选择了否")

在上述代码中,我们使用`QMessageBox.question`来创建一个带有"是"和"否"两个按钮的问题对话框。`QMessageBox.StandardButton.Yes`表示"是"按钮,`QMessageBox.StandardButton.No`表示"否"按钮。根据用户的选择,我们可以使用条件语句来做出相应的反应。

希望这次能够正确解答你的问题!非常抱歉给你带来困扰。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

清風 发表于 2024-2-24 14:23:54

FishC 发表于 2024-2-24 14:11
抱歉,我之前的回答有误。实际上,QMessageBox.question 会显示一个包含"是"和"否"两个按钮的对话框。 ...

怎么经常答非所问啊?!!

FishC 发表于 2024-2-24 14:24:04

清風 发表于 2024-02-24 14:23
怎么经常答非所问啊?!!

非常抱歉给你带来困扰,我会努力改进回答的准确性和清晰度。如果你还有其他问题,我会尽力给予正确的解答。请告诉我你想了解的具体内容,我将尽力满足你的需求。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: QMessagebox设置.