python之pyqt专栏4-代码控制部件

news2024/11/27 8:35:06

   通过前面的学习,我们已经回创建新的pyqt项目、对项目结构有了了解、也了解Qt Designer设计UI界面并 把"xx.ui"转换为“xxx.py”。

 pyqt模块与类

      pyqt6 由模块组成,而模块里面又有很多的类

       在pyqt官网Modules — PyQt Documentation v6.6.0页面,可以看到如下模块

        而在QtWidgets中各个类,则是我们最为关心的UI界面部件,在这里你可以看到QPushButton,QLabel,QLineEdit等等部件。而这些类中有一个基类Qwidget,它继承于QObject

QPaintDevice

        注:QtWidgets是模块,Qwidget是QtWidgets的一个类,Qwidget又是其他部件的基类(或者叫父类)

创建项目

        UI界面设计

        在Qt Designer以界面里面放2个Label(对象名分别是:labellabel_2),2个button(对象名分别是:pushButtonpushButton_2),保存“ui”文件,然后将“ui”文件转为“py”文件

        创建main.py
import sys
from PyQt6.QtWidgets import   QApplication,QWidget
from untitled import Ui_Form
class MyWidget(QWidget,Ui_Form):
    def __init__(self):
        super(MyWidget,self).__init__()
        self.setupUi(self)     

if __name__ == "__main__":
    app = QApplication(sys.argv)
    Form = MyWidget()

    Form.show()
    sys.exit(app.exec())
        运行

代码控制部件

        在main.py修改成如下

import sys
from PyQt6.QtWidgets import   QApplication,QWidget
from  PyQt6.QtGui import QFont
from untitled import Ui_Form
class MyWidget(QWidget,Ui_Form):
    def __init__(self):
        super(MyWidget,self).__init__()
        self.setupUi(self)
        # 设置Label的文本内容
        self.label.setText("哈哈")

        #获取label的文本内容
        str = self.label_2.text()
        # 将获取label_2内容打印输出
        print("pushButton_2.text:", str)

        # 设置pushButton的文本内容
        self.pushButton.setText("clicked me")

        # 获取pushButton_2的文本内容
        str = self.pushButton_2.text()
        # 将获取pushButton_2内容打印输出
        print("pushButton_2.text:",str)



if __name__ == "__main__":
    app = QApplication(sys.argv)
    Form = MyWidget()

    Form.show()
    sys.exit(app.exec())

    MyWidget继承了Ui_Form,label ,label_2,pushButton,pushButton_2,也会被继承过来。

        当运行self.label.setText("哈哈"),将label的文本框内容将会被修改。

        当运行str = self.label_2.text(),获取label_2的文本内容。

  这样我们就可以代码中部件了,pushButton,pushButton_2同理。
       

部件函数的位置的差异

QtWidgets模块中找到QLabel类QPushButton类

QLabe类中,我们可以看到text()setText()函数

QPushButton类中,我们找不到text()setText()函数,但是在它的父类中找到text()setText()函数

         虽然QLabelQPushButton都有text()setText(),但是它们位置不太一样,对于QLabel来说,text()setText()就在QLabel类中,而QPushButton来说,text()setText()就在父类(QAbstractButton)中

       因此当我们需要通过代码控制部件时,需要在类中或者在父类中找到相关的函数,对它进行调用。

        

             

         

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

函数的防抖与节流

一、函数防抖 (一)防抖的理解 防抖就是将所有的触发都取消,在规定的时间结束过后才会执行最后一次,也就是说连续快速的触发只会执行最后一次结果。 也可以理解为游戏里的回城按钮,每点一下就会重新刷新回城进度&…

SSM 框架整合

1 整合配置 1.1 流程 1.2 Spring 整合 MyBatis 1.3 Spring 整合 SpringMVC 1.4 配置代码 JdbcConfig.java public class JdbcConfig {Value("${jdbc.driver}")private String driver;Value("${jdbc.url}")private String url;Value("${jdbc.usern…

【挑战业余一周拿证】CSDN官方课程目录

一、亚马逊云科技简介 二、在云中计算 三、全球基础设施和可靠性 四、联网 五、存储和数据库 六、安全性 七、监控和分析 八、定价和支持 九、迁移和创新 十、云之旅 关注订阅号 CSDN 官方中文视频(免费):点击进入 一、亚马逊云科…

Apache POI(处理Miscrosoft Office各种文件格式)

文章目录 一、Apache POI介绍二、应用场景三、使用步骤1.导入maven坐标2.写入代码讲解3.读取代码讲解 总结 一、Apache POI介绍 Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是,我们可以使用 POI 在 Java 程序中对Miscrosoft Office…

N7 LUP.2.3 DRC如何解决?

这个问题在Design Rule中的介绍如下图: 解决办法是od 15 um的范围要加LUP_GR* cell,需要提高密度(加的位置需要符合tcic)去fix。

ubuntu 安装 jetbrains-toolbox

ubuntu 安装 jetbrains-toolbox 官网下载 jetbrains-toolbox jetbrains 官网 jetbrains 官网:https://www.jetbrains.com/ jetbrains-toolbox 官网下载页面 在下载页面点击 Download 安装 jetbrains-toolbox 解压 jetbrains-toolbox 安装包 到指定目录 本案例将…

【Dockerfile】将自己的项目构建成镜像部署运行

目录 1.Dockerfile 2.镜像结构 3.Dockerfile语法 4.构建Java项目 5.基于Java8构建项目 1.Dockerfile 常见的镜像在DockerHub就能找到,但是我们自己写的项目就必须自己构建镜像了。 而要自定义镜像,就必须先了解镜像的结构才行。 2.镜像结构 镜…

Python——常见内置模块

Python 模块(Modules)1、概念模块函数类变量2、分类3、模块导入的方法:五种4、使用import 导入模块5、使用from……import部分导入6、使用as关键字为导入模块或功能命名别名7、模块的搜索目录8、自定义模块 常见内置模块一、math模块二、rand…

[pyqt5]PyQt5之如何设置QWidget窗口背景图片问题

目录 PyQt5设置QWidget窗口背景图片 QWidget 添加背景图片问题QSS 背景图样式区别PyQt设置窗口背景图像,以及图像自适应窗口大小变化 总结 PyQt5设置QWidget窗口背景图片 QWidget 添加背景图片问题 QWidget 创建的窗口有时并不能直接用 setStyleSheet 设置窗口部分…

手机技巧:安卓微信8.0.44测试版功能介绍

目录 一、更新介绍 二、功能更新介绍 拍一拍撤回功能 聊天设置界面文案优化 关怀模式新增了非常实用的安静模式 微信设置中新增翻译设置选项 近期腾讯官方终于发布了安卓微信8.0.44测试版,今天小编继续给大家介绍一个本次安卓微信8.0.44测试版本更新的内容&am…

网络运维与网络安全 学习笔记2023.11.26

网络运维与网络安全 学习笔记 第二十七天 今日目标 NAT场景与原理、静态NAT、动态NAT PAT原理与配置、动态PAT之EasyIP、静态PAT之NAT Server NAT场景与原理 项目背景 为节省IP地址和费用,企业内网使用的都是“私有IP地址” Internet网络的组成设备&#xff0c…

3 时间序列预测入门:TCN

0 引言 TCN(全称Temporal Convolutional Network),时序卷积网络,是在2018年提出的一个卷积模型,但是可以用来处理时间序列。 论文:https://arxiv.org/pdf/1803.01271.pdf 一维卷积:在时间步长方…

轻量应用服务器推荐,入门首选

轻量应用服务器: 配置高,价格低,高性价比,已经成为开发者和中小企业首选服务器。 轻量-爆款 腾讯云轻量应用服务器 2核2G 3M带宽 40G SSD盘 月流量200G 一月45元。 推荐理由: 腾讯云这次活动预备了多款轻量应用服务器。如果做小…

【Java基础系列】文件上传功能

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

BUUCTF刷题之路-web-[GXYCTF2019]Ping Ping Ping1

启动环境后,是一个简简单单的页面: 看样子是能够触发远程执行漏洞的。尝试下ping 127.0.0.1,如果有回显说明我们的想法是对的。 最近才学习的nc反弹shell。想着是否能用nc反弹shell的办法。控制服务器然后输出flag呢?于是我测试下…

女生儿童房装修:原木上下铺搭配粉色调。福州中宅装饰,福州装修

你是否正在为女生儿童房的装修而发愁呢?该如何让房间既适合孩子生活,又能够满足日常学习的需要呢?这里有一个精美的装修案例,或许能够为你提供一些灵感。 1️⃣ 原木上下铺 房间的上下铺采用了原木色调,带来了自然、温…

RT-DETR 更换损失函数之 SIoU / EIoU / WIoU / Focal_xIoU

文章目录 更换方式CIoUDIoUEIoUGIoUSIoUWIoUFocal_CIoUFocal_DIoUFocal_EIoUFocal_GIoUFocal_SIoU提示更换方式 第一步:将ultralytics/ultralytics/utils/metrics.py文件中的bbox_iou替换为如下的代码:class

聊一聊索引覆盖的好处

问:索引覆盖啥意思? 答:若查询的字段在二级索引的叶子节点中,则可直接返回结果,无需回表。这种通过组合索引避免回表的优化技术也称为索引覆盖(Covering Index)。在叶子节点中的包括索引字段和主…

CSDN动态发了但是主页面看不见已发的动态

问题描述: 今天在写csdn动态的时候,发了五个动态,但是主页面的“最近”看不到我发的动态,我还以为是csdn动态每天的发送量有数量限制。去这个地方点我的发现 右上角全是“审核中”的字样 按理说是不可能审核这么久的&#xff08…

OSG编程指南<十二>:OSG二三维文字创建及文字特效

1、字体基础知识 适当的文字信息对于显示场景信息是非常重要的。在 OSG 中,osgText提供了向场景中添加文字的强大功能,由于有第三方插件 FreeType 的支持,它完全支持TrueType 字体。很多人可能对 FreeType 和 TrueType 还不太了解&#xff0c…