首页 PyQt5视频教程 PyQt5面向过程和面向对象开发代码介绍
pay pay

PyQt5面向过程和面向对象开发代码介绍

日期: 五月 18, 2023, 5:06 a.m.
栏目: PyQt5视频教程
阅读: 173
作者: Python自学网-村长

摘要: PyQt5拥有严谨的代码结构和类结构,我们在后期的学习中也会遵循这个规律,这样学习起来不仅代码规范,也能更高效的复用代码资源。这节课我们通过两段简单的代码带你了解PyQt5的玩法

PyQt5拥有严谨的代码结构和类结构,我们在后期的学习中也会遵循这个规律,这样学习起来不仅代码规范,也能更高效的复用代码资源。这节课我们通过两段简单的代码带你了解PyQt5的玩法,首先第一段代码如下:

from PyQt5.Qt import *
import sys
 
app = QApplication(sys.argv)

window = QWidget()
window.setWindowTitle("软件名称")
window.resize(600,500)
 
btn = QPushButton(window)
btn.setText("按钮")
btn.resize(120, 30)
btn.move(100, 100)
btn.setStyleSheet('background-color:green;font-size:16px;')
 
label =QLabel(window)
label.setText('标签')
label.setStyleSheet('background-color:green;font-size:16px;')
# label.show()
window.show()
 
sys.exit(app.exec_())

上面代码中第一行和第二行是引用两个包,第一个是PyQt5的所有控件,在以后的开发中我们不能这样引用整体包,这样会使软件变得很臃肿,不利于软件的快速运行,但是在学习过程中我们不了解应该使用哪些类,所以暂时直接引用所有类。

第四行是创建应用程序,我们的软件就是一个桌面应用程序,所以先要通过QApplication来实例化。

第6-8行创建一个窗口,视频课程中也有详细说明窗口的范围和样式,这里设置了窗口的title和尺寸。

然后我们又在窗口中放入了两个控件,分别是一个按钮和一个标签,这两个控件我们在后面的学习中还要详细讲解他的使用方法,这里我们给了相应的属性样式。

到19行我们看到有个show函数,这是让窗口展示的方法,属于非模态方法,后面我们在对话框控件中会学习模态和非模态的用法。

最后一段代码可以简单的理解为组织窗口闪退的,因为软件界面是电脑绘制出来的,如果没有这段代码,电脑绘制一次窗口就会关闭,而且不会反回任何错误。

下面我们再来看一段代码,和上面的功能是一样的,只是使用了面向对象的思维来封装一下,为我们下节课的模板设置做个准备。

from PyQt5.Qt import *
import sys
 
class Window(QWidget):
    def __init__(self):
        super().__init__()   # 调用父类QWidget中的init方法
        self.setWindowTitle("软件名称")
        self.resize(600,500)
        self.func_list()
 
    def func_list(self):
        self.func()
 
    def func(self):
        btn = QPushButton(self)
        btn.setText("软件内容")
        btn.resize(120,30)
        btn.move(100,100)
        btn.setStyleSheet('background-color:green;font-size:20px;')
 
if __name__ == '__main__':
    app = QApplication(sys.argv)  # 创建一个应用程序对象
    # sys.argv可以接收用户命令行启动时所输入的参数,根据参数执行不同程序
    # qApp 为全局对象
    print(sys.argv)
    print(app.arguments())
    print(qApp.arguments())
    # 以上三个输出结果是一样的
    window = Window()
 
    window.show()
    sys.exit(app.exec_())    # 0是正常退出
    # app.exec_()  进行循环
    # sys.exit()   检测退出原因

大家先看看上面代码的注释,我们下节课会详细讲解一下,能看懂是最好了。

原创视频,版权所有,未经允许,切勿转载,违者必究!
回顶部