- 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__(screen[, pixmap=QPixmap()[, f=Qt.WindowFlags()]])#
- 参数:
screen –
QScreen
pixmap –
QPixmap
f –
WindowType
的组合
这是一个重载函数。
此函数允许您指定启动画面显示的屏幕。该构造函数的典型用法是如果您有多个屏幕,而您希望启动画面在主屏幕之外显示。在这种情况下,传递正确的
screen
。- __init__([pixmap=QPixmap()[, f=Qt.WindowFlags()]])
- 参数:
pixmap –
QPixmap
f –
WindowType
的组合
构造一个将显示
pixmap
的启动画面。通常不需要设置小部件标志,即
f
,除非可能需要 Qt::WindowStaysOnTopHint。- clearMessage()#
从启动画面上移除正在显示的消息
使用画家
painter
绘制启动画面的内容。默认实现绘制的消息是通过showMessage()
传递的。如果您想在自己的启动画面上绘制,则重新实现此函数。使得启动画面等待小部件
mainWin
显示后,再调用自身的close()
方法。- message()#
- 返回类型:
str
返回启动画面上当前显示的消息。
- messageChanged(message)#
- 参数:
message – str
当启动画面上的消息改变时,会发出此信号。
message
是新消息,当消息被移除时为空字符串。返回用于启动画面的位图。图像不会包括由
showMessage()
调用绘制的文本。参见
将用作启动画面图像的位图设置为
pixmap
。参见
- showMessage(message[, alignment=Qt.AlignLeft[, color=Qt.black]])#
- 参数:
message – str
alignment – int
color –
QColor
使用颜色
color
绘制消息到启动画面,根据标志对齐alignment
。此函数调用repaint()
来确保启动画面立即重新绘制。因此,消息将与应用程序执行的操作保持同步(例如,加载文件)。