什么叫域名访问网站域名需要备案吗?

张小明 2026/3/2 21:38:22
什么叫域名访问网站,域名需要备案吗?,wordpress 插件文件夹,中卫企业管理培训网站DockWidget窗口大小改变时#xff0c;内部的按钮能够自动重新排列#xff0c;以最佳方式利用可用空间。具体表现为#xff1a;1. 当水平空间足够时#xff0c;按钮排成一行2. 当水平空间不足时#xff0c;按钮自动换行程序环境Python 3.8.9pyside66.1.3pip install pyside…DockWidget窗口大小改变时内部的按钮能够自动重新排列以最佳方式利用可用空间。具体表现为1. 当水平空间足够时按钮排成一行2. 当水平空间不足时按钮自动换行程序环境Python 3.8.9pyside66.1.3pip install pyside66.1.3设计结构图解微信图片_2025-10-22_152148_073实现效果20251022_155729demo代码获取Giteedockwidget-demo百度网盘https://pan.baidu.com/s/1PRAjVGBtLQFZkWnZsJ2f2A?pwdeitiimage代码实现以下是完整的实现代码import reimport sysfrom PySide6.QtWidgets import QApplicationfrom ui_main_windowtest import *class MainWindow(QMainWindow, Ui_MainWindow):def __init__(self):super().__init__()self.setupUi(self)self.row 0 # 行self.col 0 # 列self.buttons_per_row 0 # 每行按钮数量self.scrollArea.widget().installEventFilter(self)# 获取布局参数self.h_spacing self.gridLayout_2.horizontalSpacing()self.v_spacing self.gridLayout_2.verticalSpacing()self.margins self.gridLayout_2.contentsMargins()# 获取第一个按钮的参考尺寸if self.gridLayout_2.count() 0:first_button self.gridLayout_2.itemAt(0).widget()self.button_width first_button.sizeHint().width() self.h_spacingself.button_height first_button.sizeHint().height() self.v_spacing 10 # 根据测试这里10容差可以防止出现程序无限执行rearrangeButtons方法的情况def eventFilter(self, obj, event):监控ScrollArea内widget的resize事件if event.type() QEvent.Resize:# 获取当前可用宽高available_height self.scrollArea.widget().size().height()available_width self.scrollArea.widget().size().width()# 检查是否需要重新排列按钮if available_height (self.row 1) * self.button_height and available_width self.button_width:self.rearrangeButtons()elif available_width (self.buttons_per_row 1) * self.button_width and available_height self.button_height:self.rearrangeButtons()return super().eventFilter(obj, event)def rearrangeButtons(self):重新排列按钮以适应新的窗口大小# 计算新的每行按钮数量available_width self.scrollArea.widget().width() - self.margins.left() - self.margins.right()new_buttons_per_row max(1, available_width // self.button_width)# 如果每行按钮数量没有变化则不需要重新排列if new_buttons_per_row ! self.buttons_per_row:self.buttons_per_row new_buttons_per_rowelse:return# 收集所有按钮buttons []for i in range(self.gridLayout_2.count()):item self.gridLayout_2.itemAt(i)if item.widget():buttons.append(item.widget())# 按按钮名称自然排序1, 2, 3, ..., 10, 11不排序每次重启程序顺序都会不一样buttons.sort(keylambda btn: [int(text) if text.isdigit() else text.lower()for text in re.split(([0-9]), btn.objectName())])# 清除当前布局while self.gridLayout_2.count():item self.gridLayout_2.takeAt(0)if item.widget():item.widget().setParent(None)# 重新排列按钮for i, button in enumerate(buttons):self.row i // self.buttons_per_rowself.col i % self.buttons_per_rowself.gridLayout_2.addWidget(button, self.row, self.col)if __name__ __main__:app QApplication(sys.argv)window MainWindow()window.show()sys.exit(app.exec())代码解析1. 初始化布局参数获取了布局的关键参数,这些参数用于准确计算可用空间和按钮尺寸self.h_spacing self.gridLayout_2.horizontalSpacing()self.v_spacing self.gridLayout_2.verticalSpacing()self.margins self.gridLayout_2.contentsMargins()2. 计算按钮尺寸我们以scrollArea第一个Qwidget为参考计算Qwidget的宽度和高度(所有Qwidget宽高必须统一)ps:这里变量名写成了button其实获取的是Qwidget的宽度和高度first_button self.gridLayout_2.itemAt(0).widget()self.button_width first_button.sizeHint().width() self.h_spacingself.button_height first_button.sizeHint().height() self.v_spacing 10注意这里加了10像素的容差这是为了避免在某些边界情况下出现无限循环的问题。3. 事件过滤器通过eventFilter监控ScrollArea内widget的resize事件def eventFilter(self, obj, event):if event.type() QEvent.Resize:# 获取当前可用宽高available_height self.scrollArea.widget().size().height()available_width self.scrollArea.widget().size().width()# 检查是否需要重新排列if available_height (self.row 1) * self.button_height and available_width self.button_width:self.rearrangeButtons()elif available_width (self.buttons_per_row 1) * self.button_width and available_height self.button_height:self.rearrangeButtons()return super().eventFilter(obj, event)4. 重新排列按钮rearrangeButtons方法是核心逻辑所在def rearrangeButtons(self):# 计算新的每行按钮数量available_width self.scrollArea.widget().width() - self.margins.left() - self.margins.right()new_buttons_per_row max(1, available_width // self.button_width)# 如果每行按钮数量没有变化则不需要重新排列if new_buttons_per_row ! self.buttons_per_row:self.buttons_per_row new_buttons_per_rowelse:return# 收集并排序按钮buttons []for i in range(self.gridLayout_2.count()):item self.gridLayout_2.itemAt(i)if item.widget():buttons.append(item.widget())# 使用正则表达式实现按钮名称的自然排序,可以通过命名的方式强制规定Qwidget组件顺序buttons.sort(keylambda btn: [int(text) if text.isdigit() else text.lower()for text in re.split(([0-9]), btn.objectName())])# 清除当前布局while self.gridLayout_2.count():item self.gridLayout_2.takeAt(0)if item.widget():item.widget().setParent(None)# 重新排列for i, button in enumerate(buttons):self.row i // self.buttons_per_rowself.col i % self.buttons_per_rowself.gridLayout_2.addWidget(button, self.row, self.col)注意事项按钮尺寸DockWidget下的所有Qwidget应具有相同的尺寸否则布局可能会不均匀容差设置代码中的10像素容差是经验值可能需要根据实际情况调整
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

舆情网站wordpress心情评论插件

网络服务中的 SSH 与代理服务器使用指南 1. SSH 远程 shell 访问 Unix 虚拟机系统 Unix 系统允许用户从远程位置登录并执行通常在控制台进行的操作。在 VMware Workstation 中,用户可从主机系统登录到 Unix 虚拟机系统,避免频繁在主机系统和 VMware 窗口/全屏模式间切换,只…

张小明 2026/1/22 11:24:49 网站建设

网站制作可能出现的问题wordpress动态二维码

第一章:本地商户信息维护的挑战与变革在数字化转型加速的背景下,本地商户信息的准确性与实时性成为提升用户体验和运营效率的关键。传统依赖人工录入和静态数据库的方式已难以应对高频变更、多渠道同步等现实需求,信息滞后、数据冗余和一致性…

张小明 2026/1/22 11:24:18 网站建设

深圳做网站费用烟台seo

文章目录1. 实战概述2. 实战步骤3. 实战总结1. 实战概述 本实战在Hadoop环境中完成词频统计任务:将文本数据上传至HDFS,通过Hive创建外部表,利用split和explode函数拆分单词,建立视图简化操作,最终实现按词频分组统计…

张小明 2026/1/22 11:23:16 网站建设

织梦软件网站模板下载地址手机端app开发

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 构建一个效率对比工具,模拟传统调试和AI辅助调试处理Unexpected End of File错误的全过程。传统方式包括手动日志分析、断点调试等步骤;AI方式展示自动错误检…

张小明 2026/1/22 11:22:45 网站建设

做海报的参考网站网络营销研究背景及意义

Cache / DMA / 内存,在芯片里各自“眼里看到的世界”到底是什么样的?为什么它们天生就不一致?为什么“什么都不做”在工程上几乎一定是错的? 一、先统一一个世界观:芯片里根本不存在“同一份数据” 这是理解所有一致性…

张小明 2026/1/22 11:22:14 网站建设

获取网站访客信息wordpress 个人网站

还在为3D打印文件格式转换而烦恼吗?导入导出模型时材质丢失、尺寸错乱的问题是否让你头疼不已?今天,我要为你介绍一款能够彻底改变你3D打印工作流程的Blender 3MF插件,让你告别这些烦恼,享受流畅的设计体验。 【免费下…

张小明 2026/1/22 11:21:43 网站建设