使用QTDesigner实现简易的信号与槽

前言

  在pyqt5中使用信号与槽的概念,来实现组件的相关交互动作。
  信号:外界对组件执行的动作。比如:用鼠标勾选,用鼠标滑过,在文本框中输入文字,鼠标点击按钮等。也可以理解为信号就是一种输入,是用户对界面的各种动作,这些动作通过界面传到了代码中。
  槽:界面回应信号执行的动作。比如:更新内容,更新颜色,隐藏/显示内容等。槽就是一种输出,是为了回应用户的动作,所采取的行为。
  接下来用QTDesigner实现一个简易的功能:鼠标点击勾选框,来决定文本框的显示/隐藏。
  

实际操作

  
在这里插入图片描述
  
  首先在工作界面中拖入一个check box,也就是复选框。再拖入一个文本框。
  
在这里插入图片描述
  
  点击edit ->edit signals/slots,随后鼠标点击需要产生信号的组件。如上图所示,点击了复选框,复选框变成红色。
  
在这里插入图片描述
  
  随后可以看到鼠标箭头处出现了一个红色箭头,将该箭头拖动到需要产生槽的组件上,如上图所示,这样就连接好了信号与对应的槽。
  这里左边选择复选框的clicked函数,即判断是否勾选;右边选择文本框的setVisble,即执行是否显示;单击右下角ok就可以将两个函数连接。
  

在这里插入图片描述  
  随后会弹出上图所示的窗口,也就是用来将产生信号的组件的所有动作与产生槽的组件所有动作罗列出来,然后进行组合。
  

在这里插入图片描述
  
  如上图所示,就是信号与槽连接完毕了。
  

在这里插入图片描述
  
  既然有了动作,那就应该在QTDesigner里检测一下动作是否正常。
  首先注意界面右下角的信号与槽显示栏,栏目中可以看到增加了一组信号槽。
  发送者是checkbox,信号是clicked函数,接受者是textedite,槽是setvisible函数。
  
在这里插入图片描述  
  点击form ->preview,可以直接预览界面,并进行操作,如上图所示。
  预览的时候发现,需要点两次勾选才能第一次设置成功,因此需要返回修改一下。
  
在这里插入图片描述  
  在check box里面的属性中,找到checked,也就是默认勾选的意思,这样在执行动作的时候就能够严格实现勾选一次切换一次状态了。
  
在这里插入图片描述
  
  按照上一章的内容进行操作,实现可执行界面。
  

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt技术是一套强大的跨平台应用程序开发框架,专注于使用C++语言来构建高性能、高可维护性的软件解决方案。自1991年首次推出以来,Qt因其卓越的跨平台能力、丰富的功能集、高效的开发工具和良好的社区支持而广受开发者欢迎。以下是对Qt技术的详细介绍: 核心特性 跨平台性: Qt设计的核心理念是“一次编写,到处运行”。它支持多种操作系统,包括但不限于Windows、macOS、Linux、Android和iOS。通过Qt,开发者可以使用同一套源代码,在不同平台上编译并生成原生外观与体验的应用程序,极大地提高了开发效率和产品一致性。 图形用户界面(GUI)开发: 提供了一个完整的GUI工具箱,包含各种控件(如按钮、文本框、滑块、列表视图等)、布局管理器、样式表支持、动画效果等,帮助开发者快速构建美观、功能丰富的桌面和移动应用界面。Qt Designer是一个可视化界面设计工具,允许通过拖放操作构建UI,所见即所得。 非GUI应用开发: 除了GUI程序,Qt同样适用于开发命令行工具、后台服务、嵌入式系统等非图形化应用。其底层API涵盖了文件处理、线程、网络通信、数据库访问等广泛的功能。 面向对象设计: Qt采用面向对象的设计原则,提供了高度模块化的类库,使得代码组织清晰、易于扩展和重用。它遵循MVC(模型-视图-控制器)模式,支持数据驱动的界面设计。 元对象系统与信号机制: Qt Meta-Object System(元对象系统)是Qt框架的一个重要特性,它引入了元对象编译器(moc),用于在编译时生成额外的代码以支持对象间通信、反射、动态属性绑定等高级功能。 Signal & Slot机制是Qt实现对象间事件驱动通信的核心方式。信号代表对象状态变化或事件发生,则是响应这些信号的可调用实体。这种松耦合的通信方式简化了异步编程和事件处理。 QML与Qt Quick: QML是一种声明性语言,结合JavaScript,用于快速创建流畅、动态的用户界面。它与Qt Quick框架紧密集成,特别适合开发现代化、触屏友好的应用。 Qt Quick Controls和Qt Quick Dialogs提供了一系列预定义的QML组件,用于构建具有传统桌面风格或现代移动风格的界面元素。同时,Qt Quick也支持自定义控件开发。 多媒体支持: Qt Multimedia模块提供对音频、视频播放、录音、摄像头访问等功能的支持,使得开发多媒体应用程序变得简便。 网络功能: Qt Network模块封装了网络通信相关的API,包括HTTP、FTP、TCP/UDP套接字、SSL加密、DNS查询等,便于开发网络应用和服务。 国际化与本地化: Qt Linguist工具支持应用程序的多语言翻译和本地化工作,确保软件能适应全球市场。 开发工具与生态系统: Qt Creator是一款集成开发环境(IDE),集成了项目管理、代码编辑、调试、版本控制、QML预览等多种功能,为Qt开发提供了无缝的工作流程。 Qt拥有活跃的开发者社区、丰富的文档资源、示例代码库以及商业支持选项,为开发者的学习、问题解决和项目实施提供了坚实后盾。
Qt技术是一套强大的跨平台应用程序开发框架,专注于使用C++语言来构建高性能、高可维护性的软件解决方案。自1991年首次推出以来,Qt因其卓越的跨平台能力、丰富的功能集、高效的开发工具和良好的社区支持而广受开发者欢迎。以下是对Qt技术的详细介绍: 核心特性 跨平台性: Qt设计的核心理念是“一次编写,到处运行”。它支持多种操作系统,包括但不限于Windows、macOS、Linux、Android和iOS。通过Qt,开发者可以使用同一套源代码,在不同平台上编译并生成原生外观与体验的应用程序,极大地提高了开发效率和产品一致性。 图形用户界面(GUI)开发: 提供了一个完整的GUI工具箱,包含各种控件(如按钮、文本框、滑块、列表视图等)、布局管理器、样式表支持、动画效果等,帮助开发者快速构建美观、功能丰富的桌面和移动应用界面。Qt Designer是一个可视化界面设计工具,允许通过拖放操作构建UI,所见即所得。 非GUI应用开发: 除了GUI程序,Qt同样适用于开发命令行工具、后台服务、嵌入式系统等非图形化应用。其底层API涵盖了文件处理、线程、网络通信、数据库访问等广泛的功能。 面向对象设计: Qt采用面向对象的设计原则,提供了高度模块化的类库,使得代码组织清晰、易于扩展和重用。它遵循MVC(模型-视图-控制器)模式,支持数据驱动的界面设计。 元对象系统与信号机制: Qt Meta-Object System(元对象系统)是Qt框架的一个重要特性,它引入了元对象编译器(moc),用于在编译时生成额外的代码以支持对象间通信、反射、动态属性绑定等高级功能。 Signal & Slot机制是Qt实现对象间事件驱动通信的核心方式。信号代表对象状态变化或事件发生,则是响应这些信号的可调用实体。这种松耦合的通信方式简化了异步编程和事件处理。 QML与Qt Quick: QML是一种声明性语言,结合JavaScript,用于快速创建流畅、动态的用户界面。它与Qt Quick框架紧密集成,特别适合开发现代化、触屏友好的应用。 Qt Quick Controls和Qt Quick Dialogs提供了一系列预定义的QML组件,用于构建具有传统桌面风格或现代移动风格的界面元素。同时,Qt Quick也支持自定义控件开发。 多媒体支持: Qt Multimedia模块提供对音频、视频播放、录音、摄像头访问等功能的支持,使得开发多媒体应用程序变得简便。 网络功能: Qt Network模块封装了网络通信相关的API,包括HTTP、FTP、TCP/UDP套接字、SSL加密、DNS查询等,便于开发网络应用和服务。 国际化与本地化: Qt Linguist工具支持应用程序的多语言翻译和本地化工作,确保软件能适应全球市场。 开发工具与生态系统: Qt Creator是一款集成开发环境(IDE),集成了项目管理、代码编辑、调试、版本控制、QML预览等多种功能,为Qt开发提供了无缝的工作流程。 Qt拥有活跃的开发者社区、丰富的文档资源、示例代码库以及商业支持选项,为开发者的学习、问题解决和项目实施提供了坚实后盾。
Qt技术是一套强大的跨平台应用程序开发框架,专注于使用C++语言来构建高性能、高可维护性的软件解决方案。自1991年首次推出以来,Qt因其卓越的跨平台能力、丰富的功能集、高效的开发工具和良好的社区支持而广受开发者欢迎。以下是对Qt技术的详细介绍: 核心特性 跨平台性: Qt设计的核心理念是“一次编写,到处运行”。它支持多种操作系统,包括但不限于Windows、macOS、Linux、Android和iOS。通过Qt,开发者可以使用同一套源代码,在不同平台上编译并生成原生外观与体验的应用程序,极大地提高了开发效率和产品一致性。 图形用户界面(GUI)开发: 提供了一个完整的GUI工具箱,包含各种控件(如按钮、文本框、滑块、列表视图等)、布局管理器、样式表支持、动画效果等,帮助开发者快速构建美观、功能丰富的桌面和移动应用界面。Qt Designer是一个可视化界面设计工具,允许通过拖放操作构建UI,所见即所得。 非GUI应用开发: 除了GUI程序,Qt同样适用于开发命令行工具、后台服务、嵌入式系统等非图形化应用。其底层API涵盖了文件处理、线程、网络通信、数据库访问等广泛的功能。 面向对象设计: Qt采用面向对象的设计原则,提供了高度模块化的类库,使得代码组织清晰、易于扩展和重用。它遵循MVC(模型-视图-控制器)模式,支持数据驱动的界面设计。 元对象系统与信号机制: Qt Meta-Object System(元对象系统)是Qt框架的一个重要特性,它引入了元对象编译器(moc),用于在编译时生成额外的代码以支持对象间通信、反射、动态属性绑定等高级功能。 Signal & Slot机制是Qt实现对象间事件驱动通信的核心方式。信号代表对象状态变化或事件发生,则是响应这些信号的可调用实体。这种松耦合的通信方式简化了异步编程和事件处理。 QML与Qt Quick: QML是一种声明性语言,结合JavaScript,用于快速创建流畅、动态的用户界面。它与Qt Quick框架紧密集成,特别适合开发现代化、触屏友好的应用。 Qt Quick Controls和Qt Quick Dialogs提供了一系列预定义的QML组件,用于构建具有传统桌面风格或现代移动风格的界面元素。同时,Qt Quick也支持自定义控件开发。 多媒体支持: Qt Multimedia模块提供对音频、视频播放、录音、摄像头访问等功能的支持,使得开发多媒体应用程序变得简便。 网络功能: Qt Network模块封装了网络通信相关的API,包括HTTP、FTP、TCP/UDP套接字、SSL加密、DNS查询等,便于开发网络应用和服务。 国际化与本地化: Qt Linguist工具支持应用程序的多语言翻译和本地化工作,确保软件能适应全球市场。 开发工具与生态系统: Qt Creator是一款集成开发环境(IDE),集成了项目管理、代码编辑、调试、版本控制、QML预览等多种功能,为Qt开发提供了无缝的工作流程。 Qt拥有活跃的开发者社区、丰富的文档资源、示例代码库以及商业支持选项,为开发者的学习、问题解决和项目实施提供了坚实后盾。
Qt技术是一套强大的跨平台应用程序开发框架,专注于使用C++语言来构建高性能、高可维护性的软件解决方案。自1991年首次推出以来,Qt因其卓越的跨平台能力、丰富的功能集、高效的开发工具和良好的社区支持而广受开发者欢迎。以下是对Qt技术的详细介绍: 核心特性 跨平台性: Qt设计的核心理念是“一次编写,到处运行”。它支持多种操作系统,包括但不限于Windows、macOS、Linux、Android和iOS。通过Qt,开发者可以使用同一套源代码,在不同平台上编译并生成原生外观与体验的应用程序,极大地提高了开发效率和产品一致性。 图形用户界面(GUI)开发: 提供了一个完整的GUI工具箱,包含各种控件(如按钮、文本框、滑块、列表视图等)、布局管理器、样式表支持、动画效果等,帮助开发者快速构建美观、功能丰富的桌面和移动应用界面。Qt Designer是一个可视化界面设计工具,允许通过拖放操作构建UI,所见即所得。 非GUI应用开发: 除了GUI程序,Qt同样适用于开发命令行工具、后台服务、嵌入式系统等非图形化应用。其底层API涵盖了文件处理、线程、网络通信、数据库访问等广泛的功能。 面向对象设计: Qt采用面向对象的设计原则,提供了高度模块化的类库,使得代码组织清晰、易于扩展和重用。它遵循MVC(模型-视图-控制器)模式,支持数据驱动的界面设计。 元对象系统与信号机制: Qt Meta-Object System(元对象系统)是Qt框架的一个重要特性,它引入了元对象编译器(moc),用于在编译时生成额外的代码以支持对象间通信、反射、动态属性绑定等高级功能。 Signal & Slot机制是Qt实现对象间事件驱动通信的核心方式。信号代表对象状态变化或事件发生,则是响应这些信号的可调用实体。这种松耦合的通信方式简化了异步编程和事件处理。 QML与Qt Quick: QML是一种声明性语言,结合JavaScript,用于快速创建流畅、动态的用户界面。它与Qt Quick框架紧密集成,特别适合开发现代化、触屏友好的应用。 Qt Quick Controls和Qt Quick Dialogs提供了一系列预定义的QML组件,用于构建具有传统桌面风格或现代移动风格的界面元素。同时,Qt Quick也支持自定义控件开发。 多媒体支持: Qt Multimedia模块提供对音频、视频播放、录音、摄像头访问等功能的支持,使得开发多媒体应用程序变得简便。 网络功能: Qt Network模块封装了网络通信相关的API,包括HTTP、FTP、TCP/UDP套接字、SSL加密、DNS查询等,便于开发网络应用和服务。 国际化与本地化: Qt Linguist工具支持应用程序的多语言翻译和本地化工作,确保软件能适应全球市场。 开发工具与生态系统: Qt Creator是一款集成开发环境(IDE),集成了项目管理、代码编辑、调试、版本控制、QML预览等多种功能,为Qt开发提供了无缝的工作流程。 Qt拥有活跃的开发者社区、丰富的文档资源、示例代码库以及商业支持选项,为开发者的学习、问题解决和项目实施提供了坚实后盾。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值