欢迎访问 生活随笔!

凯发ag旗舰厅登录网址下载

当前位置: 凯发ag旗舰厅登录网址下载 > 编程语言 > >内容正文

python

python-凯发ag旗舰厅登录网址下载

发布时间:2025/1/21 18 豆豆
凯发ag旗舰厅登录网址下载 收集整理的这篇文章主要介绍了 python-gui编程pyqt5案例:注册界面扇形菜单动画及相关事件处理 小编觉得挺不错的,现在分享给大家,帮大家做个参考.







register_panel.py

from pyqt5.qt import * from resource.register_ui import ui_formclass window(qwidget,ui_form):def __init__(self):super().__init__()self.setattribute(qt.wa_styledbackground,true)self.setupui(self)self.animation_targets = [self.about_menu_btn,self.reset_menu_btn,self.exit_menu_btn]self.animation_targets_pos = [target.pos() for target in self.animation_targets]def show_hide_menu(self, checked):print("显示和隐藏", checked)animation_group = qsequentialanimationgroup(self)for idx,target in enumerate(self.animation_targets):animation = qpropertyanimation()animation.settargetobject(target)animation.setpropertyname(b"pos")# if not checked:animation.setstartvalue(self.main_menu_btn.pos())animation.setendvalue(self.animation_targets_pos[idx])# else:# animation.setendvalue(self.main_menu_btn.pos())# animation.setstartvalue(self.animation_targets_pos[idx])animation.setduration(200)animation.seteasingcurve(qeasingcurve.outbounce)animation_group.addanimation(animation)# if not checked:# animation_group.setdirection(qabstractanimation.forward)# else:# animation_group.setdirection(qabstractanimation.backward)# 将上述注释部分的代码层层优化后 得到下面的代码animation_group.setdirection(checked)animation_group.start(qabstractanimation.deletewhenstopped)def about(self):print("关于")qmessagebox.about(self,"学亮编程手记","https://blog.csdn.net/a772304419")def reset(self):print("重置")self.account_le.clear()self.password_le.clear()self.confirm_pwd_le.clear()def exit_panel(self):print("退出")def check_register(self):print("注册")def enable_register_btn(self):print("判定")accout_txt = self.account_le.text()password_txt = self.password_le.text()confirm_pwd_txt = self.confirm_pwd_le.text()if len(accout_txt)>0 and len(password_txt)>0 and len(confirm_pwd_txt)>0 and password_txt == confirm_pwd_txt:self.register_btn.setenabled(true)else:self.register_btn.setenabled(false)if __name__ == '__main__':import sysapp = qapplication(sys.argv)window = window()window.show()sys.exit(app.exec_())

register_ui.py

# -*- coding: utf-8 -*-# form implementation generated from reading ui file 'register.ui' # # created by: pyqt5 ui code generator 5.15.1 # # warning: any manual changes made to this file will be lost when pyuic5 is # run again. do not edit this file unless you know what you are doing.from pyqt5 import qtcore, qtgui, qtwidgetsclass ui_form(object):def setupui(self, form):form.setobjectname("form")form.resize(500, 450)form.setminimumsize(qtcore.qsize(500, 450))form.setmaximumsize(qtcore.qsize(500, 450))form.setstylesheet("qwidget#form{\n" " border-image: ;\n" "}")self.main_menu_btn = qtwidgets.qpushbutton(form)self.main_menu_btn.setgeometry(qtcore.qrect(30, 50, 50, 50))self.main_menu_btn.setstylesheet("qpushbutton {\n" " font: 10pt \"楷体\";\n" " border-radius: 25px;\n" " background-color: rgb(254, 83, 123);\n" " border: 2px solid rgb(217, 166, 169);\n" " color:white;\n" "}\n" "qpushbutton:hover {\n" " border: 4px double rgb(223, 188, 193);\n" "}\n" "qpushbutton:checked {\n" " background-color: rgb(154, 199, 232);\n" "}")self.main_menu_btn.setcheckable(true)self.main_menu_btn.setchecked(false)self.main_menu_btn.setobjectname("main_menu_btn")self.about_menu_btn = qtwidgets.qpushbutton(form)self.about_menu_btn.setgeometry(qtcore.qrect(90, 0, 50, 50))self.about_menu_btn.setstylesheet("qpushbutton {\n" " font: 10pt \"楷体\";\n" " border-radius: 25px;\n" " background-color: rgb(254, 83, 123);\n" " border: 2px solid rgb(217, 166, 169);\n" " color:white;\n" "}\n" "qpushbutton:hover {\n" " border: 4px double rgb(223, 188, 193);\n" "}\n" "qpushbutton:checked {\n" " background-color: rgb(154, 199, 232);\n" "}")self.about_menu_btn.setcheckable(false)self.about_menu_btn.setchecked(false)self.about_menu_btn.setobjectname("about_menu_btn")self.reset_menu_btn = qtwidgets.qpushbutton(form)self.reset_menu_btn.setgeometry(qtcore.qrect(100, 70, 50, 50))self.reset_menu_btn.setstylesheet("qpushbutton {\n" " font: 10pt \"楷体\";\n" " border-radius: 25px;\n" " background-color: rgb(254, 83, 123);\n" " border: 2px solid rgb(217, 166, 169);\n" " color:white;\n" "}\n" "qpushbutton:hover {\n" " border: 4px double rgb(223, 188, 193);\n" "}\n" "qpushbutton:checked {\n" " background-color: rgb(154, 199, 232);\n" "}")self.reset_menu_btn.setcheckable(false)self.reset_menu_btn.setchecked(false)self.reset_menu_btn.setobjectname("reset_menu_btn")self.exit_menu_btn = qtwidgets.qpushbutton(form)self.exit_menu_btn.setgeometry(qtcore.qrect(50, 120, 50, 50))self.exit_menu_btn.setstylesheet("qpushbutton {\n" " font: 10pt \"楷体\";\n" " border-radius: 25px;\n" " background-color: rgb(254, 83, 123);\n" " border: 2px solid rgb(217, 166, 169);\n" " color:white;\n" "}\n" "qpushbutton:hover {\n" " border: 4px double rgb(223, 188, 193);\n" "}\n" "qpushbutton:checked {\n" " background-color: rgb(154, 199, 232);\n" "}")self.exit_menu_btn.setcheckable(false)self.exit_menu_btn.setchecked(false)self.exit_menu_btn.setobjectname("exit_menu_btn")self.layoutwidget = qtwidgets.qwidget(form)self.layoutwidget.setgeometry(qtcore.qrect(180, 200, 281, 212))self.layoutwidget.setobjectname("layoutwidget")self.formlayout = qtwidgets.qformlayout(self.layoutwidget)self.formlayout.setcontentsmargins(0, 0, 0, 0)self.formlayout.setverticalspacing(20)self.formlayout.setobjectname("formlayout")self.label = qtwidgets.qlabel(self.layoutwidget)self.label.setstylesheet("color: rgb(170, 0, 0);\n" "font: 12pt \"楷体\";")self.label.setobjectname("label")self.formlayout.setwidget(0, qtwidgets.qformlayout.labelrole, self.label)self.account_le = qtwidgets.qlineedit(self.layoutwidget)self.account_le.setminimumsize(qtcore.qsize(0, 35))self.account_le.setstylesheet("background-color: transparent;\n" "color: rgb(255, 85, 127);\n" "border: none;\n" "border-left: 1px solid rgb(170, 0, 0);")self.account_le.setclearbuttonenabled(true)self.account_le.setobjectname("account_le")self.formlayout.setwidget(0, qtwidgets.qformlayout.fieldrole, self.account_le)self.label_2 = qtwidgets.qlabel(self.layoutwidget)self.label_2.setstylesheet("color: rgb(170, 0, 0);\n" "font: 12pt \"楷体\";")self.label_2.setobjectname("label_2")self.formlayout.setwidget(1, qtwidgets.qformlayout.labelrole, self.label_2)self.password_le = qtwidgets.qlineedit(self.layoutwidget)self.password_le.setminimumsize(qtcore.qsize(0, 35))self.password_le.setstylesheet("background-color: transparent;\n" "color: rgb(255, 85, 127);\n" "border: none;\n" "border-left: 1px solid rgb(170, 0, 0);")self.password_le.setclearbuttonenabled(true)self.password_le.setobjectname("password_le")self.formlayout.setwidget(1, qtwidgets.qformlayout.fieldrole, self.password_le)self.label_3 = qtwidgets.qlabel(self.layoutwidget)self.label_3.setstylesheet("color: rgb(170, 0, 0);\n" "font: 12pt \"楷体\";")self.label_3.setobjectname("label_3")self.formlayout.setwidget(2, qtwidgets.qformlayout.labelrole, self.label_3)self.confirm_pwd_le = qtwidgets.qlineedit(self.layoutwidget)self.confirm_pwd_le.setminimumsize(qtcore.qsize(0, 35))self.confirm_pwd_le.setstylesheet("background-color: transparent;\n" "color: rgb(255, 85, 127);\n" "border: none;\n" "border-left: 1px solid rgb(170, 0, 0);")self.confirm_pwd_le.setclearbuttonenabled(true)self.confirm_pwd_le.setobjectname("confirm_pwd_le")self.formlayout.setwidget(2, qtwidgets.qformlayout.fieldrole, self.confirm_pwd_le)self.register_btn = qtwidgets.qpushbutton(self.layoutwidget)self.register_btn.setenabled(false)self.register_btn.setminimumsize(qtcore.qsize(0, 45))self.register_btn.setstylesheet("qpushbutton {\n" " font: 14pt \"楷体\";\n" " color: white;\n" " background-color: rgb(254, 83, 123);\n" " border-radius:10px;\n" "}\n" "qpushbutton:disabled {\n" " background-color: rgb(203, 203, 203);\n" "}\n" "\n" "qpushbutton:hover {\n" " background-color: rgb(254, 53, 66);\n" "}\n" "\n" "qpushbutton:pressed {\n" " background-color: rgb(181, 24, 49);\n" "}")self.register_btn.setobjectname("register_btn")self.formlayout.setwidget(3, qtwidgets.qformlayout.spanningrole, self.register_btn)self.about_menu_btn.raise_()self.reset_menu_btn.raise_()self.exit_menu_btn.raise_()self.layoutwidget.raise_()self.main_menu_btn.raise_()self.retranslateui(form)self.main_menu_btn.clicked['bool'].connect(form.show_hide_menu)self.about_menu_btn.clicked.connect(form.about)self.reset_menu_btn.clicked.connect(form.reset)self.exit_menu_btn.clicked.connect(form.exit_panel)self.register_btn.clicked.connect(form.check_register)self.account_le.textchanged['qstring'].connect(form.enable_register_btn)self.password_le.textchanged['qstring'].connect(form.enable_register_btn)self.confirm_pwd_le.textchanged['qstring'].connect(form.enable_register_btn)qtcore.qmetaobject.connectslotsbyname(form)def retranslateui(self, form):_translate = qtcore.qcoreapplication.translateform.setwindowtitle(_translate("form", "form"))self.main_menu_btn.settext(_translate("form", "菜单"))self.about_menu_btn.settext(_translate("form", "关于"))self.reset_menu_btn.settext(_translate("form", "重置"))self.exit_menu_btn.settext(_translate("form", "退出"))self.label.settext(_translate("form", "账 号:"))self.account_le.settext(_translate("form", "111111"))self.label_2.settext(_translate("form", "密 码:"))self.password_le.settext(_translate("form", "111111"))self.label_3.settext(_translate("form", "确认密码:"))self.confirm_pwd_le.settext(_translate("form", "111111"))self.register_btn.settext(_translate("form", "注 册")) import images_rcif __name__ == "__main__":import sysapp = qtwidgets.qapplication(sys.argv)form = qtwidgets.qwidget()ui = ui_form()ui.setupui(form)form.show()sys.exit(app.exec_())

总结

以上是凯发ag旗舰厅登录网址下载为你收集整理的python-gui编程pyqt5案例:注册界面扇形菜单动画及相关事件处理的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。

网站地图