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

商丘柘城做网站排名前50名免费的网站

商丘柘城做网站,排名前50名免费的网站,如何百度搜到自己网站,做网站云服务器装系统基本的程序框架: 因为自己不是专业的程序员,只是一个搞电气控制的“票友”,所以尽量减少手动输入 代码量,能在Qt Dsigner里面完成的组态就不要放在代码里面完成。 在框架的建设方面,尽量做到集中和整合,位…

基本的程序框架:

因为自己不是专业的程序员,只是一个搞电气控制的“票友”,所以尽量减少手动输入 代码量,能在Qt Dsigner里面完成的组态就不要放在代码里面完成。

在框架的建设方面,尽量做到集中和整合,位于同一画面的部件就集中在一个地方,方便中途增加和删除部件。所有的元素,可以做到“望文知义”,通过代码的组织结构能够迅速找到每一个部件的特征和动作。

如图所示,目前阶段的框架,包含了以下:

        公共函数,里面定义了一些通用的特征,比如常规型号的按钮、指示灯。

        画面的类,目前创建了两个画面:form0( 主画面)和form_setting(设定值画面),每一个画面对应一个同名首字母大写的类,例如:form0对应的类是Form0,form_setting对应的类是Form_setting。然后在类里面,每一个需要有操作的部件,例如按钮、指示灯等,也都对应一个同名首字母大写的类,这样就可以把所有部件的操作按位置集中整合。

        以设定值画面为例,共有三个部件需要操作:btn_OK,btn_cancel,label_setting

 所以在Form_setting的函数定义里,有三个对应的子类:

 Btn_OK,Btn_cancel,Label_setting,每个部件的定义和信号连接等都位于相应的类里面:

完整代码:

from sys import exit, argv
from PyQt5.QtCore import Qt, QCoreApplication, pyqtSignal
from PyQt5.QtWidgets import QApplication
from PyQt5 import uic
import buttons  # 按钮的内嵌图片资源############################################
# 公共的函数
class PublicFunction:  # 公共函数@staticmethoddef normal_button_init(button):  # 通常规格按钮的初始化button.isEntered = False  # 鼠标焦点是否在内button.setImage()  # 获取按钮上的图片button.style_normal = f'background-color:#4b5075;border-radius:8px;border:2px solid  rgb(43, 78, 140);color:#e6e6e6;image:{button.image};'  # 常态stylebutton.style_enter = f'background-color:#4b5075;border-radius:8px;border:3px solid  #e6e6e6;color:#e6e6e6;image:{button.image};'  # 鼠标悬停后的stylebutton.style_clicked = f'background-color:#4b5075;border:2px solid  #039806;border-radius:8px;color:#e6e6e6;image:{button.image};'  # 鼠标点击后的stylebutton.style_on = f'background-color:#039806;border:4px solid  #e6e6e6;border-radius:8px;color:#e6e6e6;image:{button.image};'  # ON状态的stylebutton.style_disable = f'background-color:#767676;border:2px solid  rgb(43, 78, 140);border-radius:8px;color:#c6c6c6;image:{button.image};'  # 禁用状态下的style@staticmethoddef green_lamp_init(lamp):  # 绿色指示灯lamp.rad = str(round(lamp.width() / 2))lamp.off_color = '#767676'  # 默认off颜色lamp.on_color = '#039806'  # 默认on颜色@staticmethoddef red_lamp_init(lamp):  # 红色指示灯lamp.rad = str(round(lamp.width() / 2))lamp.off_color = '#767676'  # 默认off颜色lamp.on_color = '#da1c1c'  # 默认on颜色@staticmethoddef normal_label_init(label):  # 通常标签的初始化label.isEntered = False  # 鼠标焦点是否在内label.style_normal = 'background-color:#000d47;border:2px solid #4b5075;border-radius:8px;color:#f3da83;'  # 常态stylelabel.style_enter = 'background-color:#4b5075;border-radius:8px;border:3px solid  #e6e6e6;color:#e6e6e6;'  # 鼠标悬停后的stylelabel.style_clicked = 'background-color:#4b5075;border:2px solid  #039806;border-radius:8px;color:#e6e6e6;'  # 鼠标点击后的style############################################
# 画面的类,每个画面对应一个同名的首字母大写的类
class Form0:  # 画面form0的类(form0是主窗口)def __init__(self):self.items = [form0.btn_exit, form0.btn_setting, form0.btn_user, form0.btn_history,form0.lamp_working_1, form0.label_setting_1]  # form0的所有部件self.Classes = [self.Btn_exit(), self.Btn_setting(), self.Btn_user(), self.Btn_history(),self.Lamp_working_1(), self.Label_setting_1()]  # self的所有部件的类form0.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint)  # 关掉边框,始终最前form0.menuBar().setVisible(False)  # 关闭顶部菜单栏form0.statusBar().setVisible(False)  # 关闭底部状态栏form0.show()  # 主画面显示# 画面中的部件的类,每个部件对应一个同名的首字母大写的类class Btn_exit:  # “退出系统”按钮对应的类def __init__(self):PublicFunction.normal_button_init(form0.btn_exit)  # 引用通常规格按钮的初始化form0.btn_exit.Clicked.connect(self.clicked)def clicked(self):  # “退出系统”按钮点击后的操作for f in forms:  # 关闭所有窗口f.close()class Btn_setting:  # “参数设置”按钮对应的类def __init__(self):PublicFunction.normal_button_init(form0.btn_setting)  # 引用通常规格按钮的初始化class Btn_user:  # “用户管理”按钮对应的类def __init__(self):PublicFunction.normal_button_init(form0.btn_user)  # 引用通常规格按钮的初始化class Btn_history:  # “历史数据”按钮对应的类def __init__(self):PublicFunction.normal_button_init(form0.btn_history)  # 引用通常规格按钮的初始化class Lamp_working_1:  # “工作指示1”指示灯对应的类def __init__(self):PublicFunction.green_lamp_init(form0.lamp_working_1)  # 初始化为绿色指示灯form0.lamp_working_1.color_on_bool(True)  # 初始化为on状态class Label_setting_1:  # “设置流量”标签对应的类def __init__(self):PublicFunction.normal_label_init(form0.label_setting_1)  # 引用通常规格标签的初始化form0.label_setting_1.DoubleClicked.connect(self.double_clicked)def double_clicked(self):form_setting.move(form0.label_setting_1.pos())  # 将数据设置画面移动至标签所在位置form_setting.label_setting.setText(form0.label_setting_1.text())  # 将标签内容显示在设置画面的设置标签内form_setting.show()  # 显示设置画面Form_setting.Btn_OK.todo = self.todo1  # 定义数据设置画面“确定”按钮按下后执行的函数def todo1(self):  # 定义数据设置画面“确定”按钮按下后执行的函数form0.label_setting_1.setText(form_setting.label_setting.text())class Form_setting:  # 画面form_setting的类(form_setting是共用的数据设置窗口)def __init__(self):  # 画面form_setting的类的初始化form_setting.setWindowFlags(Qt.WindowStaysOnTopHint)  # 始终最前self.items = [form_setting.btn_OK, form_setting.btn_cancel,form_setting.label_setting]  # Form_setting的所有部件self.Classes = [self.Btn_OK(), self.Btn_cancel(),self.Label_setting()]  # Form_setting的所有部件的类class Btn_OK:  # “确定”按钮的类todo = None  # 这是一个共用的画面,todo是本画面确定键按下后将要执行的函数args = []  # todo函数的参数def __init__(self):PublicFunction.normal_button_init(form_setting.btn_OK)  # 引用通常规格按钮的初始化form_setting.btn_OK.Clicked.connect(self.clicked)form_setting.btn_OK.Clicked.connect(form_setting.close)def clicked(self):self.todo(*self.args)  # 点击OK后执行预置的函数class Btn_cancel:  # “取消”按钮的类def __init__(self):PublicFunction.normal_button_init(form_setting.btn_cancel)  # 引用通常规格按钮的初始化form_setting.btn_cancel.Clicked.connect(form_setting.close)class Label_setting:  # “设定值”标签的类def __init__(self):PublicFunction.normal_label_init(form_setting.label_setting)  # 引用通常规格标签的初始化############################################
# 主函数
if __name__ == '__main__':app = QApplication(argv)QCoreApplication.setAttribute(Qt.AA_EnableHighDpiScaling)  # 解决显示比例不同时的部件变形问题forms = []  # 所有画面显示界面的集合form0 = uic.loadUi('../UIS/form0.ui')  # 生成并加载画面,form0是主画面forms.append(form0)  # 将画面加入集合Form0 = Form0()  # form0对应的类是Form0,将类Form0实体化form_setting = uic.loadUi('../UIS/设定值.ui')forms.append(form_setting)Form_setting = Form_setting()exit(app.exec_())

 运行截图:

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

相关文章:

  • 陵水网站建设咨询如何申请网站域名流程
  • 广东企业网站建设公司wordpress视频解析接口
  • 汽配做的最好的网站彩票网站开发 晓风
  • 刷题网站怎么做wiki wordpress
  • 买卖网站手机搭建网站教程视频教程
  • 视觉上体验的网站wordpress怎么改搜索
  • 国内优秀wordpress主题电商seo是什么意思
  • 深圳市工程建设交易服务中心网站工作总结写作
  • 塔罗牌手机网站制作sem什么意思
  • wordpress插件证书认证网站专业设计笔记本电脑
  • 建设网站上申请劳务资质吗大型门户网站建设步骤
  • 江苏润通市政建设工程有限公司网站网页设计模板html代码
  • 彩票网站开发搭建免费建站网页无需登陆
  • 网站建设的一般过程html美食网页设计源码
  • 做名片网站酒店微信网站建设
  • 名师工作室建设名师网站报告总结网站建设实验
  • 网站导航栏固定文化传播公司网站模版
  • 网站推广策略怎么写上海网络推广专员
  • 注册公司网站怎么收费网站支付功能报价
  • 网站建设花钱吗引流推广营销
  • 如何做网站关键词排名wordpress腾讯云cos
  • 网站建设得花多少钱做h5商城网站
  • 明快网站设计移动电商网站设计
  • 怎么做网站旺铺装修军事新闻app哪个好
  • 星大建设集团招聘网站如何创建网站的步骤
  • 建设旅游网站目的服装网站的建设
  • 太原网站seo服务服装品牌网站建设
  • 做网站就是做信息整合牡丹江市建设行业协会网站
  • 如何做自己的广告网站wordpress如何上传mp3
  • 网站 廉政建设 板块大连建设工程信息网官网首页