GUI编程--基于PyQt5(5)

延续上节,PyQt5的程序基本结构,主要涉及控件部分

1.一个空白控件的设置,一个空白窗口

# 0 导入需要的包和模块
from PyQt5.Qt import *  # 主要包含了常用的一些类,汇总到了一块
import sys     # 内置模块

# 代码执行的方式为两种,一种为右击执行,一种为命令行执行(python 代码名称)
# args = sys.argv    # 命令行执行时:接受命令行传递的参数
# print(args)

# 1.创建一个应用程序对象
app = QApplication(sys.argv)

# 2.控件的操作
# 创建控件,设置控件的大小,位置,样式信息,事件,信号的处理
# 2.1 创建控件
# 但我们创建好一个控件之后,如果说,这个控件没有父控件,则把它当做顶层控件(也叫窗口)
# 系统会自动的给窗口添加一些装饰(标题栏),窗口控件具备一些特性,包括:
# 设置标题,图标
# 以下就是一个窗口控件

window = QWidget()
window.show()
# 3.应用程序的执行,进入到消息循环  app.exec_()
# 整个程序进如无线循环,如果执行完不循环的话,界面就会一闪而过,循环就可以保持界面一直存在
# 检测整个程序所接受到的用户的交互信息
# app.exec_() 执行的一些错误信息报给 sys.exit()
sys.exit(app.exec_())

结果:

2. 设置控件信息,并再窗口上添加一个标签控件。此时,窗口控件window就是一个容器,可以承载其他控件

# 0 导入需要的包和模块
from PyQt5.Qt import *  # 主要包含了常用的一些类,汇总到了一块
import sys     # 内置模块

# 代码执行的方式为两种,一种为右击执行,一种为命令行执行(python 代码名称)
# args = sys.argv    # 命令行执行时:接受命令行传递的参数
# print(args)

# 1.创建一个应用程序对象
app = QApplication(sys.argv)

# 2.控件的操作
# 创建控件,设置控件的大小,位置,样式信息,事件,信号的处理

# 2.1 创建控件
# 但我们创建好一个控件之后,如果说,这个控件没有父控件,则把它当做顶层控件(也叫窗口)
# 系统会自动的给窗口添加一些装饰(标题栏),窗口控件具备一些特性,包括:
# 设置标题,图标
window = QWidget()

# 创建按钮
# window = QPushButton()

# 创建标签
# window = QLabel()

# 2.2 设置控件
# 控件创建好后,可以设置空间的大小等

window.setWindowTitle("社会我顺哥,人狠话不多")
window.resize(500, 500)
window.move(400,200)

# 控件也可以作为一个容器(承载其他的控件)
# 将window这个窗口添加一个label控件,window相当于容器
label = QLabel(window)
label.setText("Hello, Sz")
label.move(200,200)

#
window.show()
#
#
# 3.应用程序的执行,进入到消息循环  app.exec_()
# 整个程序进如无线循环,如果执行完不循环的话,界面就会一闪而过,循环就可以保持界面一直存在
# 检测整个程序所接受到的用户的交互信息
# app.exec_() 执行的一些错误信息报给 sys.exit()
sys.exit(app.exec_())

结果:

如果想要label这个控件单独显示;

将上述代码中的代码修改为:

label = QLabel()
label.setText("Hello, Sz")
label.move(200,200)
label.show()

其余部分不做修改。这里不将window作为父控件后,同样要符合以下定义

但我们创建好一个控件之后,如果说,这个控件没有父控件,则把它当做顶层控件(也叫窗口)
# 系统会自动的给窗口添加一些装饰(标题栏),窗口控件具备一些特性,包括:
# 设置标题,图标

意思就是说label也是一个窗口控件了,它就是一个独立的窗口,要显示出来,就必须添加show()

以下是最终的一个总结,很多重要内容都在注释里

# 0 导入需要的包和模块
from PyQt5.Qt import *  # 主要包含了常用的一些类,汇总到了一块
import sys     # 内置模块

# 代码执行的方式为两种,一种为右击执行,一种为命令行执行(python 代码名称)
# args = sys.argv    # 命令行执行时:接受命令行传递的参数
# print(args)

# 1.创建一个应用程序对象
app = QApplication(sys.argv)

# 2.控件的操作
# 创建控件,设置控件的大小,位置,样式信息,事件,信号的处理

# 2.1 创建控件
# 但我们创建好一个控件之后,如果说,这个控件没有父控件,则把它当做顶层控件(也叫窗口)
# 系统会自动的给窗口添加一些装饰(标题栏),窗口控件具备一些特性,包括:
# 设置标题,图标
window = QWidget()

# 创建按钮
# window = QPushButton()

# 创建标签
# window = QLabel()

# 2.2 设置控件
# 控件创建好后,可以设置空间的大小等

window.setWindowTitle("社会我顺哥,人狠话不多")  # 顶层控件的窗口名
window.resize(500, 500)
window.move(400,200)   # 窗口左上角的坐标(x, y)

# 控件也可以作为一个容器(承载其他的控件)
# 将window这个窗口添加一个label控件,window相当于容器
label = QLabel()
label.setText("Hello, Sz")
label.move(200,200)
label.show()   # 如果label没有父控件,需要单独show

# 2.3 展示控件
# 刚开始设置好一个控件之后,如果没有父控件,默认情况下不会展示,只有手动的调用show()才可以
# 如果这个控件有父控件的话,父控件展示的时候,子控件会自动展示
window.show()


# 3.应用程序的执行,进入到消息循环  app.exec_()
# 整个程序进如无线循环,如果执行完不循环的话,界面就会一闪而过,循环就可以保持界面一直存在
# 检测整个程序所接受到的用户的交互信息
# app.exec_() 执行的一些错误信息报给 sys.exit()
sys.exit(app.exec_())
发布了73 篇原创文章 · 获赞 89 · 访问量 22万+

猜你喜欢

转载自blog.csdn.net/u014264373/article/details/100125772