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_())

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tina姐

我就看看有没有会打赏我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值