最近几个项目的界面都使用了 pyqt 库,好比商城中的抽奖机器人,新手指引机器人等,在这里不得不夸一下 Pyqt 的强大与优美:
因为在此项目以前,我也没有用过 qt,项目开发过程当中学习了不少知识也遇到了很多问题,不少到如今也只是只知其一;不知其二,在此记录下我遇到的问题和个人解决方法。
刚开始的界面设计,我也是根据教程使用 QtDesigner 和 PyUIC 生成界面代码,这应该是个不错的选择,但我真的手残用不来,因而转而本身写代码,感受更好处理。python
其余用到的函数:app
为按钮添加点击事件,按钮被点击时执行对应函数,函数不加括号。less
pushButton.clicked.connect(self.function)
本觉得实现这一功能不会很难,结果发现本身想的有些简单,最后用了一个看似解决了这个问题的简单方法:建立 jump.py 文件将其做为主文件,建立按钮点击事件实现不一样窗口的显示 .show()与隐藏 .hide() 。
如:
ide
from windowA import * from windowB import * from windowC import * app = QApplication(sys.argv) wa = windowA() wb = windowB() wc = windowC() wa.mainWnd.show() def eventA(): wb.mainWnd.show() wa.mainWnd.hide() def eventB(): wc.mainWnd.show() wb.mainWnd.hide() wa.pushButton.clicked.connect(eventA) wb.pushButton.clicked.connect(eventB) if __name__ == "__main__": app.aboutToQuit.connect(app.deleteLater) app.exit(app.exec_())
说不上美化,只是对界面的布局等进行一些改变。函数
addStretch() : 使一个部件向上(或左)对齐后每每没法另下一个向下(或右)对齐,此时需在这之间添加 Stretch;布局
如:
学习
self.button.setStyleSheet('color:rgb(52,196,243,200);border-radius:25px;border:4px solid rgb(52,196,243);background:#D2E9FF;') # RGB第四位表示透明度,0~255 self.label.setStyleSheet('color:CornflowerBlue;background-image:url(1.jpg);border-bottom-left-radius:20px') # 只设置左下边界圆角
界面风格不合我心意,因而隐藏边框、设置背景透明,自定义标题栏;字体
如:ui
label.setText('<font size="30" face="Microsoft Yahei" ><b style="color:rgb(52,196,243)">WubbaLubba</b></font><h6>'+ "DubDub")
免费下载试用:https://support.i-search.com.cn/url