QGIS başlatılırken, açılış ekranının alt kısmında "yüklü eklentileri geri yükleme" gibi durum mesajları görüntülenir.
Kullanıcıya şu anda başlangıç komut dosyamın hangi bölümünün yürütüldüğünü bildirmek istediğim startup.py özelliğini kullanıyorum.
Bu bilgiyi açılış ekranında göstermek mümkün mü?
Edit1:
Geçici bir çözüm olarak başlangıç sırasında kendi açılış ekranımı kullanmayı başardım:
from qgis.gui import *
from qgis.utils import *
from qgis.core import *
from PyQt4.QtGui import *
from qgis.PyQt.QtCore import QSettings, Qt
import time
template=QgsApplication.qgisSettingsDirPath() + "python/"
app=QgsApplication.instance()
splash_pix = QPixmap(template+'splashscreen.png')
splash = QSplashScreen(splash_pix, Qt.WindowStaysOnTopHint)
splash.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint)
splash.setEnabled(False)
splash.setMask(splash_pix.mask())
progressBar = QProgressBar(splash)
progressBar.setMaximum(10)
progressBar.setGeometry(0, splash_pix.height() - 20, splash_pix.width(), 10)
splash.show()
if QgsApplication.instance().findChild(QSplashScreen):
QgsMessageLog.logMessage("ja", "gridseen", level=QgsMessageLog.INFO)
else:
QgsMessageLog.logMessage("nein", "gridseen", level=QgsMessageLog.INFO)
splash.showMessage("<h1><font color='white'>Grid Integration-Check!</font></h1>", Qt.AlignBottom | Qt.AlignCenter, Qt.black)
for i in range(1, 11):
progressBar.setValue(i)
t = time.time()
while time.time() < t + 0.1:
app.processEvents()
time.sleep(2)
splash.close()
Bu yüzden açılış ekranını qgis-python klasörüme koydum (örneğin https://github.com/webgeodatavore/qgis-splash-screens-birthday/raw/master/resized/qgis_version_2.18.png )
Ancak bu çözümler biraz hızlı ve kirli bir çözümdür.
QGIS uygulamasının başlatılması sırasında oluşturulan açılış ekranına erişmek mümkün değil mi? Kullanarak erişmeye çalıştım QgsApplication.instance().findChild(QSplashScreen)
ama erişemedim.
https://github.com/qgis/QGIS/blob/7bd0285dfdef9456a5929a7b7031270ea0ee2601/src/app/main.cpp#L1286