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

国内可访问的海外网站和应用seo实战培训视频

国内可访问的海外网站和应用,seo实战培训视频,做视频网站如何生成url,许昌做网站公司专业做网站哪家好pyqt 按钮自动布局方案 效果展示支持功能核心代码实现 效果展示 支持功能 添加、编辑、删除按钮根据界面大小自动调节按钮布局 核心代码实现 资源下载 from PyQt5.QtWidgets import QWidget, QMenu, QPushButton, QInputDialog, QSpacerItem, QSizePolicy, QAction, QLineE…

pyqt 按钮自动布局方案

  • 效果展示
  • 支持功能
  • 核心代码实现

效果展示

在这里插入图片描述

支持功能

  • 添加、编辑、删除按钮
  • 根据界面大小自动调节按钮布局

核心代码实现

资源下载

from PyQt5.QtWidgets import QWidget, QMenu, QPushButton, QInputDialog, QSpacerItem, QSizePolicy, QAction, QLineEdit
from PyQt5.QtCore import Qt, pyqtSignal
from PyQt5.QtGui import QCursor
from flowbtnwidget import Ui_Formclass FlowBtnWidgetMng(QWidget, Ui_Form):btnClicked = pyqtSignal(str)def __init__(self, parent=None):super(FlowBtnWidgetMng, self).__init__(parent)self.setupUi(self)self.btnList = []self.context_menu = QMenu(self)self.addMenu(["添加按钮"])for i in range(10):btnName = "按钮"*(i + 1) + "%s" %(i)self.addBtn(btnName)def contextMenuEvent(self, event):self.context_menu.exec(event.globalPos())def resizeEvent(self, event):self.update()def addMenu(self, menuList):for one in menuList:action = self.context_menu.addAction(one)action.triggered.connect(self.slotMenuTriggered)def slotMenuTriggered(self):btn = self.sender()text = btn.text()if text == "添加按钮":name, ok = QInputDialog.getText( self, '添加按钮', '按钮名')if ok:self.addBtn(name)def addBtn(self, btnName):pushButton = QPushButton(btnName)pushButton.clicked.connect(self.slotBtnClicked)pushButton.setContextMenuPolicy(Qt.CustomContextMenu)pushButton.customContextMenuRequested.connect(self.slotBtnMenuShow)self.btnList.append(pushButton)self.update()def slotBtnClicked(self):self.btnClicked.emit(self.sender().text())def slotBtnMenuShow(self):btn = self.sender()btnMenu = QMenu(self)for oneMenu in ["编辑按钮", "删除按钮"]:action = QAction(oneMenu, btn)btnMenu.addAction(action)action.triggered.connect(self.slotBtnMenuOp)btnMenu.popup(QCursor.pos())def slotBtnMenuOp(self):text = self.sender().text()btn = self.sender().parent()if text == "编辑按钮":name, ok = QInputDialog.getText(self, '编辑按钮', '按钮名', QLineEdit.EchoMode.Normal, text = btn.text())if ok:btn.setText(name)elif text == "删除按钮":self.btnList.remove(btn)btn.deleteLater()self.update()def update(self):if not self.btnList:returnfor _ in range(self.btnLayout.count()):self.btnLayout.takeAt(0)maxWidth = self.width()rowWidgetNum = 1while True:groupMaxWidth = 0for group in range(0, rowWidgetNum):groupWidth = 0for index in range(group, len(self.btnList), rowWidgetNum):groupWidth = max(groupWidth, self.btnList[index].sizeHint().width())groupMaxWidth += groupWidthif groupMaxWidth > maxWidth:rowWidgetNum -= 1breakelif len(self.btnList) <= rowWidgetNum:breakrowWidgetNum += 1if rowWidgetNum == 0:rowWidgetNum = 1for index, oneBtn in enumerate(self.btnList):self.btnLayout.addWidget(oneBtn, index / rowWidgetNum, index % rowWidgetNum, 1, 1)if len(self.btnList) == rowWidgetNum or rowWidgetNum == 1:self.btnLayout.addItem(QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum), 0, rowWidgetNum, 1, 1)self.btnLayout.addItem(QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding), (index / rowWidgetNum) + 1, 0, 1, 1)
http://www.dtcms.com/wzjs/166211.html

相关文章:

  • 系统网站建设ppt模板下载东莞百度推广排名优化
  • 邢台网站建设服务商上海关键词优化排名软件
  • 网站建设购物商城站长工具seo综合查询降级
  • 韩都衣舍网站建设方案会计培训机构
  • 衣服网站建设规划书seo需要什么技术
  • WordPress标签seo阿里巴巴seo排名优化
  • 外币投资理财网站开发seo服务包括哪些
  • phpcms 后台修改修改网站备案号2023近期舆情热点事件
  • php网站设计盘古百度推广靠谱吗
  • 从化定制型网站建设天津百度seo推广
  • 开发软件下载网站微信上如何投放广告
  • 合肥网站商城开发百度官网网址
  • 深圳个性化网站建设公司网络营销服务公司有哪些
  • 做网站是用什么语言的win10最强性能优化设置
  • 网站能自己做吗南宁百度网站推广
  • 江苏亿之盛建设有限公司网站whois查询 站长工具
  • 网站开发和优化关系广州网站开发多少钱
  • 重庆做网站建设公司seo工资待遇怎么样
  • 做T恤卖网站国外网站开发
  • 网站建设公司的市场开发方案网站前期推广
  • 新乡营销网站建设公司最近新闻热点大事件
  • 深圳福永网站建设公司seo短视频加密路线
  • 菏泽网站开发公司江北关键词优化排名seo
  • 网站开发计划书模板免费测试seo
  • 如何自己开一个网站黄冈网站推广软件费用是多少
  • 平面设计学院百度seo排名优化公司哪家好
  • 湖南长沙旅游攻略自助游北京seo优化排名推广
  • 美国服务器网站推荐襄阳seo优化排名
  • 衡水电子网站建设做网站建设公司
  • 模板建站能建个门户网站吗网站制作代码