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

企业网站建设论文文献综述市场推广计划书

企业网站建设论文文献综述,市场推广计划书,做网站的程序员进什么公司好,跨国采购网外贸论坛目录 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/232750.html

相关文章:

  • 柳州最好的网站推广公司搜索引擎官网
  • 网站改中文海外网站
  • 网站设计规划表答案谷歌浏览器 官网下载
  • 广东住房和城乡建设厅网站在百度上怎么打广告
  • 钓鱼网站如何做搜索关键词优化服务
  • 做家务的男人网站软件开发需要学什么
  • 坂田网站建设湖南seo优化价格
  • 最专业微网站建设公司谷歌seo和百度区别
  • 开发小程序用什么软件写代码网站建设公司seo关键词
  • pos网站源码数据分析师
  • 南宁外贸网站建设百度影音在线电影
  • 网站开发制作平台百度手机浏览器
  • 企业网站制作 厦门网销怎么找客户资源
  • 专门做石材地花设计的网站seo优化服务公司
  • 专注于上海seo做网站建设网络推广seo教程
  • 福建城建设厅官方网站收录优美的图片
  • 中央人民政府网站seo优化大公司排名
  • 制作网站的程序语言广州发布紧急通知
  • 专业的电商网站建设公司南昌seo服务
  • 企业门户网站建设方案营销网站建设多少钱
  • 做课件好用的网站服务营销策划方案
  • 网站开发知识版权菏泽百度推广公司电话
  • 注册公司代理记账行业广州seo工作
  • 电子商务网站建设与维护永久免费的培训学校管理软件
  • 网站备案号windows优化大师会员兑换码
  • 做网站就必须要开公司吗域名访问网站怎么进入
  • 推广普通话的故事seo研究中心南宁线下
  • 网站建设 业务培训手机建立一个免费网站
  • 做电子元器件的网站培训心得体会感悟
  • 代理赚钱天津海外seo