首页 > 其他分享 >pyqt 主窗口和子窗口直接得数据传递

pyqt 主窗口和子窗口直接得数据传递

时间:2023-12-19 15:02:46浏览次数:18  
标签:__ 窗口 和子 self pyqt ui 信号 child

用设计师模式ui转换成得py

转换成得py基类是object,使用得时候不要再此文件修改,直接新建一个py文件,引入
ui——>py文件,然后修改基类继承,多重继承需要主窗口就主窗口类,需要子窗口对话框就对话框类
这样做得好处是当我们重复修改ui得时候,不需要修改主函数文件,只需要重载ui生成得py文件

重点

主窗口按钮绑定槽,槽里面绑定信号,信号绑定响应函数,其实槽就是响应函数,按钮函数是主动响应,信号得槽是被动触发,子窗口发送信号,pyqtSignal()来定义新的信号,新的信号作为类的属性;当我们连接了自建信号与自建槽函数,接下来就需要emit()函数去执行发射信号这个过程,我们有时候需要再去点击某个按钮发射信号。主要是通过self._signal.connect(self.getData)接受信号,self._signal.emit(send_data)发送信号

class MainWindow(QtWidgets.QMainWindow,Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.child_ui = SubDialog()
        self.actioncanshu.triggered.connect(self.show_child_window)
    def show_child_window(self):
        self.child_ui.show()
        self.child_ui._signal.connect(self.getData)
    def getData(self, parameter):
        # print('This is a test.')
        print(parameter)
        # self.lineEdit.setText(parameter)

子窗口内容

class ChildWin(QMainWindow, Ui_Dialog):
    #定义信号
    _signal = QtCore.pyqtSignal(str)
    def __init__(self):
        super(ChildWin, self).__init__()
        self.setupUi(self)
        self.retranslateUi(self)
        self.pushButton.clicked.connect(self.slot1)

    def slot1(self):
        data_str = self.lineEdit.text()
        #发送信号
        self._signal.emit(data_str)

标签:__,窗口,和子,self,pyqt,ui,信号,child
From: https://www.cnblogs.com/codedingzhen/p/17913655.html

相关文章

  • 界面控件DevExpress WPF Dock组件,轻松创建类Visual Studio窗口界面!
    本文主要为大家介绍DevExpressWPF控件中的Dock组件,它能帮助用户轻松创还能受MicrosoftVisualStudio启发的Dock窗口界面。P.S:DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用......
  • 识别指定window窗口的文本
    1.简单需求通过图文识别读取一个指定window窗口的文本。获取窗口句柄,截图保存成bitmap,调用图文识别库.测试结果是对中文下的识别不是特别好。需要注意的是,tessdata要下载指定目录页下。2.引用包a.引用tesseract4.1 b. Emgu.CV组件3.上代码usingSystem;using......
  • pyqt5 子窗口的创建,以及主窗口和子窗口的通信
    使用designer画好ui,注意选择dialog对话框然后将ui文件转换成py目标和源文件换成你自己的pyuic5-oqt_hgbp.pyhtbp_autotest.ui主窗口调用子窗口方法一:常规调用,importsysfromPyQt5.QtWidgetsimportQApplication,QMainWindow,QDialog##引入主窗口ui转py文件fr......
  • 力扣第 376 场周赛(三分,中位数贪心,滑动窗口)
     用一个哈希表记录一下,然后遍历统计一下即可。classSolution{public:vector<int>findMissingAndRepeatedValues(vector<vector<int>>&grid){intn=grid.size();unordered_set<int>st;vector<int>res;......
  • 从滑动窗口到YOLO、Transformer:目标检测的技术革新
    本文全面回顾了目标检测技术的演进历程,从早期的滑动窗口和特征提取方法到深度学习的兴起,再到YOLO系列和Transformer的创新应用。通过对各阶段技术的深入分析,展现了计算机视觉领域的发展趋势和未来潜力。关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研......
  • 命令行窗口java运行报错:Error: A JNI error has occurred,please check your installa
     jre匹配问题解决方法:第一步:右键点击构建路径。 第二步将原来的系统库移除第三步添加系统库 第四步选择与自己电脑java相符的执行环境 ......
  • qt 折叠与展开 窗口,折叠列表,展开列表,抽屉效果,根据窗口大小自动产生滚动条
      自定义折叠控件,h头文件#ifndefQUESTIONBANKWIDGET_H#defineQUESTIONBANKWIDGET_H#include<QWidget>#include<QVBoxLayout>#include<QHBoxLayout>#include<QToolButton>#include<QPushButton>#include<QLabel>#include<......
  • 【滑动窗口最值】滑动窗口的最值的一种方案
    假设现在有数组a[n],和滑动的窗口长度为k<=n,要求长度为k的滑动窗口的最值,一般来说,我们会遇到以下问题: 在窗口向右滑动时,由于不知道将要删除的元素在窗口中的位置,于是只能暴力遍历窗口来删除旧元素。增加了时间复杂度到O(n^2logn)以下是解决该问题的一种方案:......
  • 算法Day2双指针法排序,滑动窗口,螺旋矩阵
    Day2双指针法排序,滑动窗口,螺旋矩阵ByHQWQF2023/12/14笔记977.有序数组的平方https://leetcode.cn/problems/squares-of-a-sorted-array/返回一个非递减顺序排序的整数数组每个元素的平方后组成的新数组,新数组也按非递减顺序排序。解法:双指针法由于给定数组本身是有序的,......
  • 基于PyQt和websocket,制作一个简单的BiliBili弹幕机(大体思路)
    前言从B站上获取直播弹幕的方式大体有两种,一种是通过调用下面这个接口,通过轮询获取importrequestsroom_id=123456#示例url='https://api.live.bilibili.com/xlive/web-room/v1/dM/gethistory'headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64......