PySide6.QtWidgets.QSplashScreen¶
- class QSplashScreen¶
QSplashScreen
小部件提供了一个可以在应用程序启动期间显示的启动画面。更多…概要¶
方法¶
def
__init__()
def
finish()
def
message()
def
pixmap()
def
setPixmap()
虚拟方法¶
def
drawContents()
插槽¶
def
clearMessage()
def
showMessage()
信号¶
def
messageChanged()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
启动屏幕是一个小部件,通常在应用程序启动时显示。启动屏幕通常用于启动时间较长的应用程序(例如,需要时间建立连接的数据库或网络应用程序),以向用户提供应用程序正在加载的反馈。
启动画面显示在屏幕的中心。如果您希望将其保持在桌面上所有其他窗口之上,可能需要在启动小部件的窗口标志中添加Qt::WindowStaysOnTopHint。
一些X11窗口管理器不支持“保持在顶部”标志。一个解决方案是设置一个定时器,定期在启动画面上调用
raise()
来模拟“保持在顶部”的效果。最常见的用法是在主部件显示在屏幕上之前显示一个启动画面。这在以下代码片段中得到了说明,其中显示了一个启动画面,并在应用程序的主窗口显示之前执行了一些初始化任务:
if __name__ == "__main__": app = QApplication([]) pixmap = QPixmap(":/splash.png") splash = QSplashScreen(pixmap) splash.show() app.processEvents() ... window = QMainWindow() window.show() splash.finish(window) sys.exit(app.exec())
用户可以通过鼠标点击来隐藏启动画面。为了使鼠标处理正常工作,在启动期间定期调用QApplication::processEvents()。
有时在应用程序启动时更新启动画面以显示消息是有用的,例如,宣布连接已建立或模块已加载:
pixmap = QPixmap(":/splash.png") splash = QSplashScreen(pixmap) splash.show() ... // Loading some items splash.showMessage("Loaded modules") QCoreApplication.processEvents() ... // Establishing connections splash.showMessage("Established connections") QCoreApplication.processEvents()
QSplashScreen
支持使用showMessage()
函数来实现这一点。如果你想自己绘制,你可以通过pixmap()
获取用于启动屏幕的像素图的指针。或者,你可以子类化QSplashScreen
并重新实现drawContents()
。在拥有多个屏幕的情况下,也可以在不同于主屏幕的其他屏幕上显示启动画面。例如:
screen = QGuiApplication.screens().at(1) pixmap = QPixmap(":/splash.png") splash = QSplashScreen(screen, pixmap) splash.show()
- __init__([pixmap=QPixmap()[, f=Qt.WindowFlags()]])¶
- Parameters:
pixmap –
QPixmap
f –
WindowType
的组合
构建一个将显示
pixmap
的启动屏幕。除了可能需要设置Qt::WindowStaysOnTopHint外,通常不需要设置小部件标志
f
。- __init__(screen[, pixmap=QPixmap()[, f=Qt.WindowFlags()]])
- Parameters:
屏幕 –
QScreen
pixmap –
QPixmap
f –
WindowType
的组合
这是一个重载函数。
此函数允许您为启动屏幕指定屏幕。此构造函数的典型用途是如果您有多个屏幕,并且希望启动屏幕显示在与主屏幕不同的屏幕上。在这种情况下,请传递适当的
screen
。- clearMessage()¶
移除启动画面上显示的消息
另请参阅
使用画师
painter
绘制启动屏幕的内容。默认实现绘制由showMessage()
传递的消息。如果您想在启动屏幕上进行自定义绘制,请重新实现此函数。使启动画面等待,直到小部件
mainWin
显示后,再调用close()
关闭自身。- message()¶
- Return type:
字符串
返回当前显示在启动屏幕上的消息。
- messageChanged(message)¶
- Parameters:
消息 – str
当启动屏幕上的消息发生变化时,会发出此信号。
message
是新消息,当消息被移除时,它是一个空字符串。返回用于启动屏幕的像素图。该图像不包含由
showMessage()
调用绘制的任何文本。另请参阅
将用作启动屏幕图像的位图设置为
pixmap
。另请参阅
- showMessage(message[, alignment=Qt.AlignLeft[, color=Qt.black]])¶
- Parameters:
message – str
alignment – int
颜色 –
QColor
将
message
文本绘制到启动屏幕上,使用颜色color
,并根据alignment
中的标志对齐文本。此函数调用repaint()
以确保启动屏幕立即重新绘制。因此,消息会与您的应用程序正在执行的操作(例如加载文件)保持同步。另请参阅