pyqt样式表语法笔记(下)--原创

  1. 云栖社区>
  2. 博客>
  3. 正文

pyqt样式表语法笔记(下)--原创

marsggbo 2017-03-26 11:27:00 浏览636
展开阅读全文

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


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

阿里妈妈

网友评论

登录后评论
0/500
评论
marsggbo
+ 关注