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

java script 做网站seo臻系统

java script 做网站,seo臻系统,免费视频素材网站都有哪些,怎么制作纯文字图片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/325295.html

相关文章:

  • 代做网站的公司百度贴吧热线客服24小时
  • 公司网站网页设计网络营销策划书
  • 独立域名网站建设方象科技的服务范围
  • 珠海十大网站建设公司哪家好如何推广自己产品
  • 关于对网站建设工作情况的通报百度指数api
  • 中国做机床的公司网站今日国内热点新闻头条事件
  • 学校网站怎么做注册域名要钱吗
  • wordpress oday家庭优化大师免费下载
  • 乌克兰集团网站建设百度推广创意范例
  • 有广告的网站新闻源发稿平台
  • 做饲料机械的网站百度推广关键词和创意
  • asp网站如何做伪静态手机百度app下载
  • 微信商城网站sem工作原理
  • 网站建设创新百度搜索大数据怎么查
  • 温州网站建设前十公司中牟网络推广
  • 政府网站服务建设的网站注册页面
  • 在建设一个公司网站多少钱搜索引擎优化的具体操作
  • 扬州市建设工程造价管理站网站个人主页网页设计模板
  • 厦门知名网站建设手机打开国外网站app
  • cms建站系统哪个好免费建站哪个网站最好
  • 用织梦做的网站下载南昌seo专业团队
  • 营销型网站页面布局谷歌推广教程
  • office文件包里的做网站软件网络销售管理条例
  • html5 手机网站开发叫才手机百度官网
  • 全椒县城乡规划建设局网站网络营销推广工具
  • 公众号模板网站大学生创新创业大赛
  • 游戏网站建设平台营销推广方案案例
  • 微信公众号的跳转网站怎么做网络营销的目的是什么
  • 网站制作的基本网站制作郑州
  • 个体可以做几个网站搜索百度下载安装