文章目录

  • 基本的代码的模板
  • Label控件
  • font字体相关
  • Button 控件
  • CheckBox 控件
  • Radio控件
  • ComboBox控件
  • LineEdit 控件

基本的代码的模板

class MainWindow(QWidget):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)  # 调用父类初始化方法# 声明窗口实例# 代码结束self.show()    # 显示窗口if __name__ == '__main__':app = QApplication(sys.argv)  # 创建应用w = MainWindow()sys.exit(app.exec())

Label控件

  • 主要用于显示静态文本、图像或富文本内容

在这里插入图片描述

from PyQt6.QtWidgets import QApplication, QWidget, QLabel, QHBoxLayout
from PyQt6.QtCore import Qt
import sysclass MainWindow(QWidget):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)  # 调用父类初始化方法# 代码开始self.setWindowTitle("Label控件")# 垂直布局layout = QHBoxLayout()label_1 = QLabel('第一个Label')label_1.setAlignment(Qt.AlignmentFlag.AlignCenter)font1 = label_1.font()font1.setFamily('Times New Roman')font1.setPointSize(30)font1.setUnderline(True)print(label_1.text())print(label_1.setText('第一个更改的Label'))# 添加字体label_1.setFont(font1)label_2 = QLabel('第二个Label')label_2.setAlignment(Qt.AlignmentFlag.AlignRight)layout.addWidget(label_1)layout.addWidget(label_2)self.setLayout(layout)# 代码结束self.show()    # 显示窗口if __name__ == '__main__':app = QApplication(sys.argv)  # 创建应用w = MainWindow()sys.exit(app.exec())

font字体相关

在这里插入图片描述

import sys
from PyQt6.QtWidgets import QWidget, QLabel, QApplication, QVBoxLayout
from PyQt6.QtGui import QFontclass MainWindow(QWidget):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)  # 调用父类初始化方法# 创建 QLabel 实例self.label = QLabel("Hello, Qt Font Example!")# 创建 QFont 实例并设置字体属性font = QFont()font.setFamily("Arial")           # 设置字体族font.setPointSize(20)             # 设置字体大小(单位:点)font.setBold(True)                # 设置粗体font.setItalic(True)              # 设置斜体font.setUnderline(True)           # 设置下划线# 将字体应用到 QLabelself.label.setFont(font)# 使用垂直布局管理器将 QLabel 添加到窗口中layout = QVBoxLayout()layout.addWidget(self.label)self.setLayout(layout)self.setWindowTitle("Qt Font Example")  # 设置窗口标题self.show()  # 显示窗口if __name__ == '__main__':app = QApplication(sys.argv)  # 创建应用w = MainWindow()sys.exit(app.exec())  # 进入主事件循环

Button 控件

按钮或命令按钮是⽤户命令程序执⾏某⼀操作时使⽤的按钮,是 GUI 编程中最常⻅和最重要的⼩部件。
这里按钮的状态就是像是被按下,然后被释放。
在这里插入图片描述

from PyQt6.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QMessageBox
import sysclass MainWindow(QWidget):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)  # 调用父类初始化方法# 代码开始self.setWindowTitle("Button控件")self.resize(400,300)layout = QVBoxLayout()# 定义一个按钮self.button1 = QPushButton('第一个按钮')# 设置可以区分按下和未按下的状态self.button1.setCheckable(True)button2 = QPushButton()# 设置不可点击button2.setEnabled(False)# 设置名字button2.setText('第二个按钮')# 设置信号和槽self.button1.clicked.connect(self.click_me)self.button1.pressed.connect(self.press_me)self.button1.released.connect(self.release_me)self.button1.toggled.connect(self.toggle_me)layout.addWidget(self.button1)layout.addWidget(button2)self.setLayout(layout)# 代码结束self.show()    # 显示窗口def click_me(self):print('点击我了')def press_me(self):print('按下我了')def release_me(self):print('松开我了')def toggle_me(self):if self.button1.isChecked():self.button1.setStyleSheet("background-color: lightblue")else:self.button1.setStyleSheet("background-color: lightgrey")print('切换我了')if __name__ == '__main__':app = QApplication(sys.argv)  # 创建应用w = MainWindow()sys.exit(app.exec())

CheckBox 控件

QCheckBox ⼩部件提供了两种状态的按钮:on(选中)/off(未选中)。这个⼩部件提供了⼀个带有单个⽂本标签的复选框。(QCheckBox 正式⽂档)当选中或禁⽤复选框时,将触发 stateChanged() 信号。当您希望在复选框的状态发⽣变化时执⾏某些操作时,您可以将此信号连接到特定的插槽。您可以使⽤ isChecked() ⽅法来检查复选框是否被选中。布尔值将根据是否选中该框返回。
在这里插入图片描述

from PyQt6.QtWidgets import ( QApplication, QWidget, QCheckBox, QPushButton, \QVBoxLayout, QMessageBox, QRadioButton, QLabel , QHBoxLayout)
import sysclass MainWindow(QWidget):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)  # 调用父类初始化方法# 代码开始self.setWindowTitle('checkbox控件')layout = QHBoxLayout()radiobutton = QRadioButton("Australia")radiobutton.setChecked(True)radiobutton.country = "Australia"radiobutton.toggled.connect(self.onClicked)layout.addWidget(radiobutton)radiobutton = QRadioButton("China")radiobutton.country = "China"radiobutton.toggled.connect(self.onClicked)layout.addWidget(radiobutton)radiobutton = QRadioButton("Japan")radiobutton.country = "Japan"radiobutton.toggled.connect(self.onClicked)layout.addWidget(radiobutton)self.setLayout(layout)# 代码结束self.show()    # 显示窗口def onClicked(self):radioButton = self.sender()if radioButton.isChecked():print("Country is %s" % (radioButton.country))if __name__ == '__main__':app = QApplication(sys.argv)  # 创建应用w = MainWindow()sys.exit(app.exec())

Radio控件

QRadioButton⼩部件提供了⼀个单选按钮,⽤于在⼀组选项中选择其中⼀个。同⼀组中的单选按钮是互斥的。
在这里插入图片描述

from PyQt6.QtWidgets import QApplication, QWidget, QHBoxLayout, QRadioButton, QLabel
import sysclass MainWindow(QWidget):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)  # 调用父类初始化方法# 代码开始self.setWindowTitle('radio单选按钮')layout = QHBoxLayout()label = QLabel('选择地区电影:')rd1 = QRadioButton('中国')rd1.setChecked(True)  # 默认被选中rd1.toggled.connect(self.choice)rd2 = QRadioButton('美国')rd2.toggled.connect(self.choice)rd3 = QRadioButton('其他')rd3.toggled.connect(self.choice)layout.addWidget(label)layout.addWidget(rd1)layout.addWidget(rd2)layout.addWidget(rd3)self.setLayout(layout)# 代码结束self.show()    # 显示窗口def choice(self):radio = self.sender()  # 发送的对象if radio.isChecked():print(radio.text())if __name__ == '__main__':app = QApplication(sys.argv)  # 创建应用w = MainWindow()sys.exit(app.exec())

ComboBox控件

QComboBox是⼀个下拉列表框,可以显示当前选中的项⽬,并能通过下
拉列表选择其他项⽬。
在这里插入图片描述

from PyQt6.QtWidgets import QApplication, QWidget, QComboBox, QVBoxLayout
import sysclass MainWindow(QWidget):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)  # 调用父类初始化方法# 代码开始self.setWindowTitle('combobox控件')layout = QVBoxLayout()self.combo = QComboBox()self.combo.addItem('中英')self.combo.addItem('中日')self.combo.addItem('中韩')self.combo.addItem('中法')# 设置信号self.combo.currentTextChanged.connect(self.item_selected)layout.addWidget(self.combo)self.setLayout(layout)# 代码结束self.show()    # 显示窗口def item_selected(self):item = self.combo.currentText()print(item)if __name__ == '__main__':app = QApplication(sys.argv)  # 创建应用w = MainWindow()sys.exit(app.exec())

LineEdit 控件

QLineEdit 是⼀个⼩部件,它允许输⼊和修改⼀⾏字符串。
通过设置 echoMode(),可以将其⽤作“只写”区域。这个特性在接收输⼊
(⽐如密码)时⾮常有⽤。
可以使⽤ setEchoMode() ⽅法设置这些模式,其输⼊和函数如下所示。
普通模式是最常⽤的,也是默认设置(例如
setEchoMode(QLineEdit.EchoMode.Normal) 或 setEchoMode(0))。

在这里插入图片描述

from PyQt6.QtWidgets import QApplication, QWidget, QVBoxLayout, QLineEdit
import sysclass MainWindow(QWidget):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)  # 调用父类初始化方法# 代码开始self.setWindowTitle('LineEdit控件')layout = QVBoxLayout()self.line1 = QLineEdit()self.line2 = QLineEdit()self.line2.setEchoMode(QLineEdit.EchoMode.Password)self.line3 = QLineEdit()self.line3.setEchoMode(QLineEdit.EchoMode.NoEcho)  # 不显示,但已经输入self.line4 = QLineEdit()self.line4.setEchoMode(QLineEdit.EchoMode.PasswordEchoOnEdit)  # 切换以后,以密码显示# 信号和槽self.line1.cursorPositionChanged.connect(self.cursorPositionChanged)self.line1.selectionChanged.connect(self.selectionChanged)self.line2.editingFinished.connect(self.editingFinished)self.line3.textChanged.connect(self.textChanged)self.line4.textEdited.connect(self.textEdited)layout.addWidget(self.line1)layout.addWidget(self.line2)layout.addWidget(self.line3)layout.addWidget(self.line4)self.setLayout(layout)# 代码结束self.show()    # 显示窗口def cursorPositionChanged(self):print('光标移动了')self.line3.setText('操作line3')self.line4.setText('操作line4')def editingFinished(self):print('输出完成')def selectionChanged(self):print('更改选择区域')def textChanged(self):print(self.line3.text())def textEdited(self):# 与testChanged区别# 使用setText(),textChanged会触发,但是textEdited不会触发print(self.line4.text())if __name__ == '__main__':app = QApplication(sys.argv)  # 创建应用w = MainWindow()sys.exit(app.exec())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/94997.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/94997.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/94997.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5Python异常处理与模块导入全指南

目录 什么是异常? 异常的捕获方法: 为什么要捕获异常? 捕获异常的语法: 异常的else和finally语法: 什么是异常? 异常就是程序运行过程中出现了错误,也就是我们常说的出bug了-。- 异常的捕…

区块链密码学简介

区块链密码学简介 一、对称密码算法 概述 对称密码算法的主要特点是使用相同的密钥进行加密和解密。这类算法根据其加密方式大致可以分为两类:流密码和分组密码。区块链技术主要采用分组密码。流密码以数据流的形式逐位或逐字节加密,而分组密码则将数据分成固定大小的块进行…

GridKernalGateway

GridKernalGateway 是 Apache Ignite 架构中一个关键的安全与状态管理组件,它的作用是 “在公共 API 和内部内核(kernal)之间建立安全、可控的访问通道”。 我们可以把它理解为一个 “门卫 状态哨兵”,确保外部调用不会在 Ignite…

MySQL索引、B+树相关知识总结

MySQL索引、B树相关知识汇总一、有一个查询需求,MySQL中有两个表,一个表1000W数据,另一个表只有几千数据,要做一个关联查询,如何优化?1、为关联字段建立索引2、小表驱动大表二、b树和b树的区别1、更高的查询…

Java学习进阶 -- 泛型的继承和通配符及综合练习

首先&#xff0c;泛型不具备继承性&#xff0c;但是数据具备继承性1.核心概念解析泛型不具备继承性即使类型A是类型B的子类&#xff0c;Generic<A>也不是Generic<B>的子类这是Java泛型的类型安全设计&#xff0c;防止不安全的类型转换数据具备继承性泛型容器中的元…

如何实现在多跳UDP传输场景,保证单文件和多文件完整传输的成功率?

如何实现在多跳UDP传输场景&#xff0c;保证单文件和多文件完整传输的成功率&#xff1f; 一、前言 UDP&#xff08;User Datagram Protocol&#xff09;是一个轻量、无连接的传输协议&#xff0c;广泛用于低延迟、高吞吐的应用中&#xff0c;如视频流、实时游戏等。然而&…

【Spring IoC 核心实现类详解:DefaultListableBeanFactory】

Spring IoC 核心实现类详解&#xff08;源码原理&#xff09;作为 Spring 的灵魂&#xff0c;IoC 容器&#xff08;Inversion of Control&#xff09;是整个框架的核心。 那么 IoC 的“心脏”到底是哪个类&#xff1f;它是怎么管理和装配 Bean 的&#xff1f;本文将从源码层面深…

为什么开启JWT全局认证后,CSRF失败会消失?

这是因为 JWT认证与CSRF校验的设计逻辑完全不同&#xff0c;当全局启用JWT认证后&#xff0c;Django的CSRF校验会被“绕过”或不再生效&#xff0c;具体原因如下&#xff1a; 核心原因&#xff1a;JWT认证不依赖Cookie&#xff0c;无需CSRF保护 1. CSRF的作用场景 CSRF攻击的前…

宝龙地产债务化解解决方案二:基于资产代币化与轻资产转型的战略重构

一、行业背景与代币化创新趋势1.1 房地产债务危机现状宝龙地产&#xff08;01238.HK&#xff09;截至2024年中债务总额达584亿元&#xff0c;其中50.7%为一年内到期债务&#xff0c;但现金储备仅89.47亿元&#xff0c;短期偿债覆盖率不足30%。2025年2月境外债务重组计划因债权人…

深信服GO面试题及参考答案(下)

Kubernetes 与容器 Kubernetes(简称 K8s)是容器编排平台,而容器是轻量级的虚拟化技术,两者紧密关联但定位不同,容器是 K8s 管理的核心对象,K8s 为容器提供了完整的生命周期管理、扩展和运维能力。 容器技术(如 Docker)通过 Linux 命名空间(Namespace)、控制组(CGro…

RAGFoundry:面向检索增强生成的模块化增强框架

本文由「大千AI助手」原创发布&#xff0c;专注用真话讲AI&#xff0c;回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我&#xff0c;一起撕掉过度包装&#xff0c;学习真实的AI技术&#xff01; 1. 背景与动机 大型语言模型&#xff08;LLMs&#xff09;存在 知识静…

(第十期)HTML基础教程:文档类型声明与字符编码详解

&#xff08;第十期&#xff09;HTML基础教程&#xff1a;文档类型声明与字符编码详解 前言 在使用VS Code等现代编辑器生成HTML页面时&#xff0c;你会发现自动生成的代码中多了一些看似陌生但又非常重要的标签。这些标签不是多余的&#xff0c;而是现代Web开发的标准配置。…

OpenAPI(Swagger3)接口文档自定义排序(万能大法,支持任意swagger版本)

前置参考文档 基于OpenAPI(Swagger3)使用AOP技术&#xff0c;进行日志记录 使用SpringAOP的方式修改controller接口返回的数据 SpringBoot3集成OpenAPI3(解决Boot2升级Boot3) 总结一句话&#xff1a;既然没办法去通过各种方法或者官方的接口去修改接口顺序&#xff0c;那我们就…

vue3上传的文件在线查看

1、npm install vue-office/pdf vue-demi 安装依赖2、npm install vue-office/excel vue-demi 安装依赖3、npm install vue-office/docx vue-demi 安装依赖4、编写一个通用组件&#xff0c;现在只支持 .docx,.xlsx,.pdf 格式的文件&#xff0c;其他文件渲染不成功<temp…

深度学习中基于响应的模型知识蒸馏实现示例

在 https://blog.csdn.net/fengbingchun/article/details/149878692 中介绍了深度学习中的模型知识蒸馏&#xff0c;这里通过已训练的DenseNet分类模型&#xff0c;基于响应的知识蒸馏实现通过教师模型生成学生模型&#xff1a; 1. 依赖的模块如下所示&#xff1a; import arg…

【数据可视化-82】中国城市幸福指数可视化分析:Python + PyEcharts 打造炫酷城市幸福指数可视化大屏

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

TikTok网页版访问障碍破解:IP限制到高效运营的全流程指南

在跨境电商与社媒运营的数字化浪潮中&#xff0c;TikTok网页版因其多账号管理便捷性、内容采集高效性等优势&#xff0c;成为从业者的核心工具&#xff0c;然而“页面空白”“地区不支持” 等访问问题却频繁困扰用户。一、TikTok网页版的核心应用场景与技术特性&#xff08;一&…

spring的知识点:容器、AOP、事物

一、Spring 是什么? Spring 是一个开源的 Java 企业级应用框架,它的核心目标是简化 Java 开发。 它不是单一的工具,而是一个 “生态系统”,包含了很多模块(如 Spring Core、Spring Boot、Spring MVC 等),可以解决开发中的各种问题(如对象管理、Web 开发、事务控制等)…

HTML ISO-8859-1:深入解析字符编码标准

HTML ISO-8859-1:深入解析字符编码标准 引言 在HTML文档中,字符编码的选择对于确保网页内容的正确显示至关重要。ISO-8859-1是一种广泛使用的字符编码标准,它定义了256个字符,覆盖了大多数西欧语言。本文将深入探讨HTML ISO-8859-1的原理、应用及其在现代网页开发中的重要…

【计算机网络 | 第4篇】分组交换

文章目录前言&#x1f95d;电路交换&#x1f34b;电路交换技术的优缺点电路交换的资源分配机制报文交换&#x1f34b;报文交换技术的优缺点存储转发技术分组交换&#x1f426;‍&#x1f525;分组交换的过程分组交换解决的关键问题传输过程的关键参数工作原理分组传输时延计算网…