PyQt5的组件介绍

  • 一、博客借鉴
  • 二、部分组件的介绍
    • 2.1 空白窗口演示
    • 2.2 组件介绍

一、博客借鉴

pyqt5的基础介绍

二、部分组件的介绍

2.1 空白窗口演示

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 2022/9/18 12:48
# Author : root
# File   : exam.pyfrom PyQt5.Qt import *
import sysclass Study(object):def __init__(self):self.app = QApplication(sys.argv)     #持久化一个应用   必须有self.win = QWidget()   #一个窗口   必须有self.win.setWindowTitle("组件演示")   #标题self.win.setWindowIcon(QIcon("sheep.ico"))   #设置窗口图标self.win.setGeometry(100,100,800,400)      #设置窗口大小(左上角位置坐标,长,宽)if __name__ == '__main__':s = Study()s.win.show()    #展示窗口   必须有sys.exit(s.app.exec_())   #应用执行完则释放内存   必须有

2.2 组件介绍

from PyQt5.Qt import *
import sys""" QHBoxLayout(水平布局)QVBoxLayout(垂直布局)QGridLayout(网格方式布局)QFormLayout(双栏,第一栏是 Label,第二栏是 Widget)"""class Study(object):def __init__(self):self.app = QApplication(sys.argv)self.win = QWidget()self.win.setWindowTitle("各种小组件演示")self.win.setWindowIcon(QIcon("sheep.ico"))self.win.setGeometry(100,100,400,400)#---------------------标签演示------------def label1(self):# QLable可以使用 html 的文本;使用move将标签移动到指定位置;.resize()重新设置大小,但是设置位置和大小#很麻烦;另外一种方式是使用 .resizeEvent() 来动态的计算组件的位置和大小。# 但是最高效的方式是使用 layout managersQLabel("<h1>标签1</h1>",self.win).move(180,0)#---------------------按钮演示------------def button1(self):QPushButton("确认",parent=self.win).move(180,30)# ---------------------下拉框演示------------def Comboboxes1(self):items = ["--请选择时间--","一点钟","二点钟","三点钟","四点钟"]qc = QComboBox(parent=self.win)qc.addItems(items)qc.setCurrentText("--请选择时间--")qc.move(180,60)# ---------------------单选按钮演示------------def choose(self):qr1 = QRadioButton(parent=self.win)qr2 = QRadioButton(parent=self.win)qr1.setText("选择按钮1")qr2.setText("选择按钮2")qr1.move(180,90)qr2.move(180,120)# ---------------------多选按钮演示------------def mul_choose(self):mc1 = QCheckBox(parent=self.win)mc1.setText("复选框1")mc1.move(180,150)mc2 = QCheckBox(parent=self.win)mc2.setText("复选框2")mc2.move(180, 180)# ---------------------文本输入框演示------------def editline1(self):ed = QLineEdit(parent=self.win)ed.move(180,210)# ---------------------水平布局演示------------def h_show(self):layout = QHBoxLayout()layout.addWidget(QPushButton("确认"))layout.addWidget(QPushButton("取消"))layout.addWidget(QPushButton("锁定"))layout.addWidget(QPushButton("复制"))layout.setContentsMargins(60,160,50,0)   #设置与上一个控件的距离layout.setSpacing(20)   #设置水平布局里面的组件距离self.win.setLayout(layout)# ---------------------垂直布局演示------------def v_show(self):layout = QVBoxLayout()layout.addWidget(QPushButton("确认"))layout.addWidget(QPushButton("取消"))layout.addWidget(QPushButton("锁定"))layout.addWidget(QPushButton("复制"))layout.setContentsMargins(10,0,300,0)   #距离边框的距离(左,上,右,下)layout.setSpacing(20)   #设置水平布局里面的组件距离self.win.setLayout(layout)# ---------------------网格布局演示------------def g_show(self):layout = QGridLayout()layout.addWidget(QPushButton("确认"),0,0) #""" 所在行;2. 所在列;3. rowSpan, 跨的行数;4. columnSpan, 跨的列数."""layout.addWidget(QPushButton("取消"),1,0)layout.addWidget(QPushButton("锁定"),2,0)layout.addWidget(QPushButton("复制"),3,0)layout.setContentsMargins(10, 0, 300, 0)  # 距离边框的距离(左,上,右,下)layout.setSpacing(20)  # 设置水平布局里面的组件距离self.win.setLayout(layout)# ---------------------表单布局演示------------def f_show(self):layout = QFormLayout()layout.addRow(QLabel("姓名:"),QLineEdit())layout.addRow(QLabel("电话:"),QLineEdit())layout.setContentsMargins(10, 0, 300, 0)  # 距离边框的距离(左,上,右,下)# layout.setSpacing(20)  # 设置水平布局里面的组件距离self.win.setLayout(layout)def exit(self):# self.h_show()   #这里注释掉了,想看效果的可以取消注释# self.v_show()# self.g_show()self.f_show()self.Comboboxes1()self.label1()self.button1()self.choose()self.mul_choose()self.editline1()self.win.show()   #等组件调用后再展示窗口sys.exit(self.app.exec_())
if __name__ == '__main__':s = Study()s.exit()

效果图:

PyQt5的一些组件的介绍相关推荐

  1. openstack及组件简要介绍

    openstack及组件简要介绍 为什要用云? 一.简单的说就是对资源更加合理的分配,使用,比如硬件的数量,带宽等等这些,因为你不能机器买来不需要了再卖掉(当然也可以),带宽跟机房签合同得来一年的,中 ...

  2. .NET平台开源项目速览(9)软件序列号生成组件SoftwareProtector介绍与使用

    原文:.NET平台开源项目速览(9)软件序列号生成组件SoftwareProtector介绍与使用 在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了 ...

  3. MongoDB的RestAPI微服务组件--Mongo-Rest介绍

    MongoDB的RestAPI微服务组件--Mongo-Rest介绍 开源项目:https://gitee.com/yunwisdoms/mongodb-rest 安装 使用npm安装: npm in ...

  4. 十多款优秀的Vue组件库介绍

    十多款优秀的Vue组件库介绍 1. iView UI组件库 iView 是一套基于 Vue.js 的开源 UI 组件库,主要服务于 PC 界面的中后台产品.iView的组件还是比较齐全的,更新也很快, ...

  5. SpringCloud_004_SpringCloud服务发现组件原理介绍

    SpringCloud_004_SpringCloud服务发现组件原理介绍 技术交流qq群,交流起来方便一些:170933152 1.如何解决硬编码问题? 上次咱们说到,硬编码问题 比如: 服务发现组 ...

  6. 【Vue】—Vue组件基本介绍

    [Vue]-Vue组件基本介绍 Vue组件是以.vue结尾的文件 Vue组件一般都是由三部分组成: template. script. style template写页面部分 script写js部分, ...

  7. React组件进阶--组件通讯介绍,组件的 props特点,组件通讯的三种方式子到父,父到子,兄弟到兄弟组件,Context,回顾练习

    1.组件通讯介绍 组件是独立且封闭的单元,默认情况下,只能使用组件自己的数据(state). 在组件化过程中,我们将一个完整的功能 拆分成多个组件,以更好的完成整个应用的功能. 而在这个过程中,多个组 ...

  8. bboss kafka组件使用介绍

    bboss kafka组件使用介绍 本文使用的实例对应的gradle源码工程git访问地址: [url]http://git.oschina.net/bboss/bestpractice[/url] ...

  9. php 小程序即时聊天,小程序组件:聊天会话组件的介绍(附代码)

    本篇文章给大家带来的内容是关于小程序组件:聊天会话组件的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 场景 用于在线客服的聊天对话等 一.布局圈点 1.三角箭头 绘制 ...

最新文章

  1. 海龟交易代码java_海龟交易算法,实现量化交易(1)数据获取
  2. Javascript权威指南——第一章Javascript概述
  3. CCIE理论-第十五篇-IPV6-重分布+ACL+前缀列表
  4. garageband 淡出_为什么史蒂夫·乔布斯(Steve Jobs)的GarageBand展示了有史以来最好的现场产品演示...
  5. insert into select from 部分字段插入_MySQL的故障分析,Insert 加锁与死锁分析-爱可生
  6. Questions make me doubt my engineer career
  7. mysql 极限优化配置_MySQL优化(二) 优化诀窍
  8. Sublime Text3 插件:convertToUTF8
  9. 【XSY2470】lcm 数学
  10. 给快播指一条生路:转型会员付费吧
  11. 善用win7中的资源监视器
  12. TwinCAT 3 报警程序
  13. 太赞!机器学习、深度学习绘图模板.ppt
  14. JAVA实现成绩统计之及格率和优秀率
  15. android打飞机游戏、MVP句子迷App、悬浮窗、RxJava+Retrofit、加载动画、定制计划App等源码...
  16. 计算机网络搭建一个小型局域网,如何建立一个小型的局域网,来实现电脑与电脑之间的通信连接问题...
  17. linux下XMind创建运行图标
  18. 华为手机如何安装google play, chrome等
  19. iceberg Flink操作
  20. 机器学习如何驱动业务实践?你想知道的都在这!

热门文章

  1. Freedom and discipline
  2. html 单元格拆分及合并,表格合并和拆分.html
  3. 内网ip如何变成公网ip?快解析转换域名映射外网访问
  4. Codeforces Round #406 (Div. 1) A. Berzerk(博弈论)
  5. 基于SSM实现的人力资源管理系统【附源码】(毕设)
  6. History lives on in this distinguished Polish city 2017/1/4
  7. (九)隐私计算--安全多方计算
  8. LORA智能巡检手持机|无线数据采集终端
  9. 招聘牛人的五步骤蔡文贤_招聘技术人才的5个步骤
  10. python从txt导入数据到CSV文件末尾行丢失