Python PySide,;如何设置QMessageBox文本格式?
我想设置QMessageBox文本格式,但找不到有效的方法Python PySide,;如何设置QMessageBox文本格式?,python,pyside,Python,Pyside,我想设置QMessageBox文本格式,但找不到有效的方法 QtGui.QMessageBox.information( self, "Confirm delete!", "Are you sure you want to delete file?\n %s" % filename, QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.No ) 我想大胆一点,比如: "Are
QtGui.QMessageBox.information(
self,
"Confirm delete!",
"Are you sure you want to delete file?\n %s" % filename,
QtGui.QMessageBox.Yes | QtGui.QMessageBox.No,
QtGui.QMessageBox.No
)
我想大胆一点,比如:
"Are you sure you want to delete file?\n <b>%s</b>"
“确实要删除文件吗?\n%s”
如何执行此操作?根据PySide的文档,您可以使用来指定
Qt.RichText
格式
但是,这仅在创建自定义QMessageBox
实例并进行设置时有效,在使用QMessageBox.information
静态方法时无效
默认情况下,QMessageBox
使用Qt.AutoText
格式,该格式尝试通过使用函数检测文本是否为富文本(我只能找到Qt的文档)。该功能的文档说明:
如果字符串文本可能是富文本,则返回true;否则
返回false
此函数使用一个快速且简单的启发式主要是
检查前是否有类似于标记的内容
第一个换行符。虽然对于常见情况,结果可能是正确的,
没有保证
不幸的是,在消息中,在任何标记之前都有一个换行符\n
,因此该函数无法将消息检测为富文本
在任何情况下,一旦您将文本解释为富文本,您必须使用HTML换行符
,因此使用消息:
"Are you sure you want to delete file?<br> <b>%s</b>"
“确实要删除文件吗?
%s”
将使
QMessageBox
自动检测富文本并生成您想要的结果。您尝试过吗?此外,如果要使用HTML,则应使用
而不是\n
。默认情况下,QMessageBox
尝试通过使用此选项来确定是否使用HTML,检查在第一个换行符之前是否有类似于标记的内容,因此将\n
更改为
应该可以让QMessageBox
自动检测HTML。@GiacomoAlzetta非常感谢。我明白了。我刚刚开始学习PySide。