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

纺织品做外贸一般在哪个网站上网络系统管理技能大赛linux

纺织品做外贸一般在哪个网站上,网络系统管理技能大赛linux,毛妮卓玛wordpress,网站建设方案200字目录 1、注册界面 2、自定义信号和槽 1、注册界面 注册用户需要填写基本信息,如用户名、密码、性别、爱好、个性签名,个人介绍等,要求用户按下按钮事件后打印所有用户填写的信息 from PyQt5.QtWidgets import * import sysclass ZCWindow(…

目录

1、注册界面

2、自定义信号和槽


1、注册界面

        注册用户需要填写基本信息,如用户名、密码、性别、爱好、个性签名,个人介绍等,要求用户按下按钮事件后打印所有用户填写的信息

from PyQt5.QtWidgets import *
import sysclass ZCWindow(QWidget):def __init__(self):super().__init__()self.setWindowTitle('注册登录页面')wholeLayout = QVBoxLayout()self.setLayout(wholeLayout)self.resize(420,300)# 第一部分layout1 = QHBoxLayout()label1 = QLabel('用户名')self.edit1 = QLineEdit()self.edit1.setPlaceholderText('请输入用户名')self.edit1.setStyleSheet("QLineEdit { border: 1px solid black; }")layout4 = QHBoxLayout()label2 = QLabel('密码')self.edit2 = QLineEdit('')self.edit2.setPlaceholderText('请输入密码')self.edit2.setEchoMode(QLineEdit.Password)self.edit2.setStyleSheet("QLineEdit { border: 1px solid black; }")# 第二部分layout2 = QHBoxLayout()label3 = QLabel('性别')self.btn1 = QRadioButton('男')self.btn2 = QRadioButton('女')layout5 = QHBoxLayout()label4 = QLabel('选择关联账号')self.ck1 = QCheckBox('微信关联')self.ck2 = QCheckBox('QQ关联')self.ck3 = QCheckBox('支付宝关联')#第三部分layout3 = QHBoxLayout()label5 = QLabel('个性签名')self.edit3 = QTextEdit()self.edit3.setPlaceholderText('请输入个性签名')self.edit3.setStyleSheet("QTextEdit { border: 1px solid black; }")layout6 = QHBoxLayout()label6 = QLabel('个人简介')self.edit4 = QTextEdit()self.edit4.setPlaceholderText('请输入个人简介')self.edit4.setStyleSheet("QTextEdit { border: 1px solid black; }")btn = QPushButton('提交')btn.clicked.connect(self.click)# 绑定第一部分layout1.addWidget(label1)layout4.addWidget(label2)layout1.addWidget(self.edit1)layout4.addWidget(self.edit2)# 绑定第二部分layout2.addWidget(label3)layout2.addWidget(self.btn1)layout2.addWidget(self.btn2)layout5.addWidget(label4)layout5.addWidget(self.ck1)layout5.addWidget(self.ck2)layout5.addWidget(self.ck3)# 绑定第三部分layout3.addWidget(label5)layout3.addWidget(self.edit3)layout6.addWidget(label6)layout6.addWidget(self.edit4)#layout3.addWidget(btn)# 将所有布局添加到主布局wholeLayout.addLayout(layout1)wholeLayout.addLayout(layout4)wholeLayout.addLayout(layout2)wholeLayout.addLayout(layout5)wholeLayout.addLayout(layout3)wholeLayout.addLayout(layout6)wholeLayout.addWidget(btn)def click(self):# 获取用户输入的信息username = self.edit1.text()password = self.edit2.text()gender = "男" if self.btn1.isChecked() else "女" if self.btn2.isChecked() else "未选择"accounts = []if self.ck1.isChecked():accounts.append("微信")if self.ck2.isChecked():accounts.append("QQ")if self.ck3.isChecked():accounts.append("支付宝")signature = self.edit3.toPlainText()introduction = self.edit4.toPlainText()# 打印所有信息print(f"用户名: {username}")print(f"密码: {password}")print(f"性别: {gender}")print(f"关联账号: {', '.join(accounts)}")print(f"个性签名: {signature}")print(f"个人简介: {introduction}")if __name__ == '__main__':app = QApplication(sys.argv)zc = ZCWindow()zc.show()sys.exit(app.exec())

2、自定义信号和槽

①为什么要使用信号和槽?

将不同作用的代码分成不同的小块,提高代码的可读性和可维护性。

②在文件内部定义信号和槽

1、定义信号:在类中定义信号,可以通过pyqtSignal()创建一个信号对象。

2、定义槽:在类中定义槽函数,使用@pyqtSlot()装饰器注册槽函数

3、连接信号和槽:使用信号.connect(槽函数)将信号和槽连接起来

4、触发信号:在触发信号的地方,使用信号.emit()触发该信号,参数和槽函数一致

from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject
from PyQt5.QtWidgets import QApplication
import sys# 信号所在类:必须继承QObject,并且在初始化函数中调用super的初始化函数
class MyObject(QObject):# a. 定义一个自定义信号my_signal = pyqtSignal(str)# b. 定义一个槽函数@pyqtSlot(str)def my_slot(self, message):print("Received message: ", message)app = QApplication(sys.argv)
# 创建一个对象
obj = MyObject()
# c. 连接信号和槽 
obj.my_signal.connect(obj.my_slot)
# d. 触发信号
obj.my_signal.emit("Hello, World!")sys.exit(app.exec_())
③在不同文件中定义信号和槽

假设文件结构

project/
├── main.py
├── signal_module.py
└── slot_module.py

在signal_module.py

# signal_module.py
from PyQt5.QtCore import QObject, pyqtSignalclass SignalEmitter(QObject):# 定义一个自定义信号customSignal = pyqtSignal(str)def __init__(self):super().__init__()def emit_signal(self, message):# 发出信号self.customSignal.emit(message)

在slot_module.py

# slot_module.py
from PyQt5.QtCore import QObjectclass SlotReceiver(QObject):def __init__(self):super().__init__()def handle_signal(self, message):# 槽函数# f 格式化字符串非常简洁,不需要额外的格式化方法或占位符。print(f"收到信号: {message}")

在main.py

# main.py
from PyQt5.QtWidgets import QApplication, QPushButton, QVBoxLayout, QWidget
from signal_module import SignalEmitter
from slot_module import SlotReceiver
import sysclass MainWindow(QWidget):def __init__(self):super().__init__()self.setWindowTitle('信号和槽示例')layout = QVBoxLayout()self.setLayout(layout)# 创建信号发射器self.emitter = SignalEmitter()# 创建槽接收器self.receiver = SlotReceiver()# 将信号连接到槽# 将 SignalEmitter 类中的 customSignal 信号连接到 SlotReceiver 类中的 handle_signal 槽函数self.emitter.customSignal.connect(self.receiver.handle_signal)# 创建一个按钮self.button = QPushButton('触发信号')self.button.clicked.connect(self.trigger_signal)layout.addWidget(self.button)def trigger_signal(self):# 触发 SignalEmitter 类中的 customSignal 信号,并传递一个字符串参数 "Hello, Signal!"self.emitter.emit_signal("Hello, Signal!")if __name__ == '__main__':app = QApplication(sys.argv)window = MainWindow()window.show()sys.exit(app.exec())

http://www.dtcms.com/wzjs/787151.html

相关文章:

  • 网站开发第三方支付互联网有限公司
  • 模板网站制作公司如何做网站赚钱
  • 搭建公司网站的作用wordpress存档
  • nh网站建设高端品牌网站建设图片
  • 科技资讯网站开发大纲可以做视频的一个网站
  • 郴州网站开发公司深圳设计装修公司哪家好
  • 国产网站开发工具公司网站开发需要什么软件
  • 郧阳网站建设可以做app的软件
  • 用c 做网站物业管理系统价格
  • 接外包活去什么平台windows系统优化软件
  • 苏州公司网站设计网店出售
  • 建筑装修设计网站大全图片搜索
  • 云指网站开发vps怎么做多个网站
  • 广州网站建设十年乐云seo世界杯网站开发
  • 邮箱登陆嵌入网站网页设计论文html
  • 广东企业网站模板定制绍兴模板建站代理
  • 北师大 网页制作与网站建设 考试列表网免费发布信息
  • 做我女朋友的套路网站响应式网站模仿
  • 安庆网站开发网页打不开怎么处理
  • 安徽网站建设调查报告江门网页设计
  • 西安高端网站建设首选定制衣服
  • 网站上点击图片局部放大如何做网站 建设意见
  • 零基础学做网站难吗网站代理 正规备案
  • 在公司做网站是什么职位静态网页模板制作工具
  • 广州seo网站建设部网站碎发零能耗住宅
  • 济南天桥区网站建设公司网站备案 登录名
  • 商务网站建设与维护 ppt食品贸易网站建设案例
  • 运营什么网站好系统的php网站建设
  • sns网站开发网页制作与设计第四版电子书
  • 长春网站排名方案wordpress迁移空间插件