zoukankan      html  css  js  c++  java
  • pyqt样式表语法笔记(下)--原创

    pyqt样式表语法笔记(下)

    python
    启动界面
    QSS
    pyqt

    一、启动界面的设置

    简单点~说话的方式简单点
    用一张静态图片作为程序启动界面为例。

    原来的语句

        python    7行
    1. if __name__ == "__main__"
    2. import sys 
    3. app = QtGui.QApplication(sys.argv) 
    4. myWindow = MainWindow() 
    5. myWindow.show() 
    6. sys.exit(app.exec_()) 

    修改后的语句

        python    11行
    1. if __name__ == "__main__"
    2. import sys 
    3. app = QtGui.QApplication(sys.argv) 
    4. splash = QSplashScreen(QPixmap(':/pics/5.jpg')) 
    5. splash.show() 
    6. app.processEvents() 
    7. myWindow = MainWindow() 
    8. myWindow.show() 
    9. splash.finish(myWindow) 
    10. sys.exit(app.exec_()) 

    解释:
    第4句表示将当前目录下的"5.jpg"文件导入,并设置为启动界面
    第5句,不用解释了吧
    第6句,是为了避免程序启动时卡死,这个没有深究了,反正加上不会错
    第9句,用于在程序加载成功后退出启动界面,所以需要传入myWindow这个参数。注意不要试图用splash.exec_(),因为它会使整个程序都结束滴~~~23333

    另外,如果程序比较简单,那么启动界面可能一闪而过,所以还需要适当的修改

        python    8行
    1. import time 
    2.  
    3. class MainWindow(QMainWindow, Ui_MainWindow): 
    4. def __init__(self, parent=None): 
    5. super(MainWindow, self).__init__(parent) 
    6. self.setupUi(self) 
    7. time.sleep(0.5

    如代码所示,让程序稍微休息2秒,这样效果会更好。


    上面只是显示了静态图片,但是我们还可以使启动界面变得更加友好,例如可以提示"正在加载图片资源..."等信息,让用户能够知道程序运行状态,而不至于盲目等待。
    主要调用
    QSplashScreen.showMessage(str, int alignment=Qt.AlignLeft, QColor color=Qt.black) 这个方法
    代码示例

        ppf    18行
    1.  
    2. if __name__ == "__main__"
    3. import sys 
    4. app = QtGui.QApplication(sys.argv) 
    5. splash = QSplashScreen(QPixmap(':/pics/5.jpg')
    6. splash.show() 
    7. app.processEvents() 
    8. splash.showMessage('正在加载图片资源...',Qt.AlignCenter,Qt.red) 
    9. time.sleep(2) 
    10. splash.showMessage('正在加载音频资源...',Qt.AlignCenter,Qt.white) 
    11. time.sleep(2) 
    12. splash.showMessage('正在加载渲染程序...',Qt.AlignCenter,Qt.black) 
    13. time.sleep(2) 
    14. myWindow = MainWindow() 
    15. myWindow.show() 
    16. splash.finish(myWindow) 
    17. sys.exit(app.exec_()

    效果展示

    1

    2

    3

    二、添加菜单栏
    在Qt Designer空白处右键,选择【添加菜单栏】,然后输入相应的菜单名即可。
    下面介绍菜单栏控件的方法。
    之前所介绍的控件的格式一般都为“on_控件名_clicked”,菜单栏稍有不同,需要使用“触发槽函数”,方法为on_名称_triggered()

        python    4行
    1. @pyqtSlot() 
    2. def on_actionAbout_triggered(self): 
    3. aboutButton = QMessageBox.aboutQt(self, 'AboutQt'

    aboutQt

    结果图

    忘了说怎么添加icon了,方法很简单,还是在Qt Designer进行操作。

    添加icon


    图标的下载建议去阿里妈妈,这是全民老爹马云旗下的网站,很简约,不像有的网站乱七八糟还到处是广告。

    阿里妈妈

  • 相关阅读:
    Bayes分类器原理分析以及实现
    数据库视图探究
    请求页式存储管理系统实验
    离散数学知识点整理(一)
    数据结构知识点总结之树
    数据结构知识点总结之栈、队列
    数据结构知识点总结之串、数组、广义表
    数据结构知识点总结之线性表
    数据结构知识点总结之绪论
    数据结构知识点总结
  • 原文地址:https://www.cnblogs.com/marsggbo/p/6622891.html
Copyright © 2011-2022 走看看