当前位置: 首页 > news >正文

突唯阿网站seo构建平台还是搭建平台

突唯阿网站seo,构建平台还是搭建平台,10个免费自学网,好看的公司网站在上一篇文章中python之pyqt专栏6-信号与槽2-CSDN博客中,我们可以了解到对象可以使用内置信号,这些信号来自于类定义或者继承过来的。我们可以对这些信号可以通过connect连接槽函数。 需求 现在有一个需求,有两个UI界面“untitled.ui”和“u…

        在上一篇文章中python之pyqt专栏6-信号与槽2-CSDN博客中,我们可以了解到对象可以使用内置信号,这些信号来自于类定义或者继承过来的。我们可以对这些信号可以通过connect连接槽函数。

需求

        现在有一个需求,有两个UI界面“untitled.ui”和“untitled1.ui”,untitled.ui有一个lineEdit(行编辑)和一个button(按钮),untitled1.ui有一个Label。点击untitled.ui的button时,将行编辑的文本内容,设置为untitled1.uiLabel文本内容。

untitled.ui的对象列表

对象名类型
lineEditLlineEdit
pushButtonQPushButto

untitled1.ui的对象列表

对象名类型
labelQLabel

UI界面设置

untitled.ui  UI界面

       保存文件为untitled.ui

untitled1.ui  UI界面

        点击左上角“文件”->“新建”

        保存文件为untitled.ui 

         注:Qt Designer中,当有两个以上的UI编辑界面时,需要先选中的UI界面,再保存

 项目目录下“untitled.ui”“untitled1.ui”转换为“untitled.py”“untitled1.py”

main.py

# 导入sys模块
import sys
# PyQt6.QtWidgets模块中导入QApplication, QWidget
from PyQt6.QtWidgets import QApplication, QWidget
from PyQt6.QtCore import QObjectimport untitled
import untitled1class MyMainForm(QWidget, untitled.Ui_Form):sendText = pyqtSignal(str)def __init__(self, parent=None):# 调用父类的构造函数super(MyMainForm, self).__init__(parent)# 调用继承Ui_Form过来的setupUi函数self.setupUi(self)self.pushButton.clicked.connect(self.btn_clicked)class MyMainForm1(QWidget, untitled1.Ui_Form):def __init__(self, parent=None):# 调用父类的构造函数super(MyMainForm1, self).__init__(parent)# 调用继承Ui_Form过来的setupUi函数self.setupUi(self)self.move(1200,320)# Press the green button in the gutter to run the script.
if __name__ == '__main__':# 实例化应用app = QApplication(sys.argv)# 实例化MyMainFormmyw = MyMainForm()myw.show()myw1 = MyMainForm1()myw1.show()myw.sendText.connect(myw1.deal_signal)# 启动应用程序的事件循环并等待用户交互,直到应用程序关闭。sys.exit(app.exec())

        防止两个窗口重叠,在MyMainForm1移动一下位置

self.move(1200,320)

  

        有两个窗口,建立了两个类MyMainFormMyMainForm1,它们分别继承于untitled.Ui_Formuntitled1.Ui_Form

        需要注意的是untitled.py与untitled1.py都有Ui_Form,为了区分Ui_Form来源,不能用如下代码,否者会被Ui_Form会被后面的取代

from untitled import Ui_Form
from untitled1 import Ui_Form

         正确书写应该是这样

import untitled
import untitled1
class MyMainForm(QWidget, untitled.Ui_Form):
class MyMainForm1(QWidget, untitled1.Ui_Form):

  问题

        在MyMainForm,button被点击时会发出clicked信号,如果用将buttonclicked信号,绑定槽函数,在这个槽函数里面可以实现获取lineEdit的文本内容,代码如下

self.pushButton.clicked.connect(self.btn_clicked)
    def btn_clicked(self):# 获取行编辑文本str = self.lineEdit.text()

        MyMainForm与MyMainForm1,它们是两个类,没有直接关系这个槽函数在MyMainForm中,不能修改MyMainForm1的label,也就是不能通过如下代码

    def btn_clicked(self):# 获取行编辑文本str = self.lineEdit.text()self.label.setText(str)

 自定义信号

          如果我们可以在untitled.pyUi_Form自定义一个信号(sendText),这个信号通过connect绑定untitled1.pyUi_Form类函数(deal_signal),那么它们就会建立关系。

 myw.sendText.connect(myw1.deal_signal)
修改代码如下

# 导入sys模块
import sys
# PyQt6.QtWidgets模块中导入QApplication, QWidget
from PyQt6.QtWidgets import QApplication, QWidget
from PyQt6.QtCore import QObject, pyqtSignalimport untitled
import untitled1class MyMainForm(QWidget, untitled.Ui_Form):sendText = pyqtSignal(str)def __init__(self, parent=None):# 调用父类的构造函数super(MyMainForm, self).__init__(parent)# 调用继承Ui_Form过来的setupUi函数self.setupUi(self)self.pushButton.clicked.connect(self.btn_clicked)def btn_clicked(self):# 获取行编辑文本str = self.lineEdit.text()self.sendText.emit(str)class MyMainForm1(QWidget, untitled1.Ui_Form):def __init__(self, parent=None):# 调用父类的构造函数super(MyMainForm1, self).__init__(parent)# 调用继承Ui_Form过来的setupUi函数self.setupUi(self)self.move(1200,320)def deal_signal(self,str):self.label.setText(str)# Press the green button in the gutter to run the script.
if __name__ == '__main__':# 实例化应用app = QApplication(sys.argv)# 实例化MyMainFormmyw = MyMainForm()myw.show()myw1 = MyMainForm1()myw1.show()myw.sendText.connect(myw1.deal_signal)# 启动应用程序的事件循环并等待用户交互,直到应用程序关闭。sys.exit(app.exec())
      自定义信号过程
      1)导入 pyqtSignal类 
from PyQt6.QtCore import  pyqtSignal
        2)定义类中信号属性,“str”是参数
sendText = pyqtSignal(str)
      3)信号与槽绑定
myw.sendText.connect(myw1.deal_signal)
       4)发送信号

self.sendText.emit(str)

          在该项目功能需求中,需要获取MyMainFormlineEdit的内容,将其内容传递传递给MyMainForm1的deal_signal,并在deal_signal对MyMainForm1的文本设置,因此需要形参“str”,如果自定义信号不需要传递内容,则不需要添形参,如下代码即可

sendText = pyqtSignal()

最终实现

         

http://www.yayakq.cn/news/830222/

相关文章:

  • 永仁网站建设天津企业网站建设哪家好
  • 网站建设是指什么360优化大师官方网站
  • 各大网站的软文怎么做东莞网站建设公司怎么做
  • 网站建设 运维 管理网站开发流程可规划为那三个阶段
  • 开个网站需要什么快速建立平台网站开发设计建站流程
  • 建设网站前的市场分析seo建站优化推广
  • 医院网站建设需要多少钱交流平台网站怎么做不了
  • 做网站申请什么商标免费看今天开始做女神的网站
  • 手机网站制作方案做家电家具回收用哪个网站好
  • 顺义网站制作天元建设集团有限公司张国庆
  • 做网站除了域名还要买什么wordpress自定义进入后台地址
  • 做游戏CG分享的网站南京学网站建设
  • 医院网站建设 不足wordpress主题转discuz
  • 专业移动网站建设wordpress 本地上传
  • 一级页面的网站怎么做的做网站用虚拟主机怎么样
  • 做网站的计划书永久免费开网店app
  • 电商网站建设与维护试题杨家平网站建设
  • 免费网站认证最近的国际新闻大事
  • 做网站怎么接广告赚钱吗七台河网站网站建设
  • 温州市手机网站制作找客网
  • 成都网站建设939做网站mfdos
  • 旅游网站的建设现状企业网络是指
  • 东莞网站建设美丽网站建设业务的延伸性
  • 高端网站建设哪些好seo营销方法
  • 计算机编程是做网站网页升级访问永久360
  • 煤矿建设工程质量监督总站网站鞋材东莞网站建设
  • 国外修图教程网站google关键词分析
  • 无锡网站建设设计黄骅信誉楼罗茂莲事件
  • 视频网站做cpa地推公司排名
  • 手机wap 网站深圳建设工程交易网app