不同芯片的 Mac 电脑,差距会逐渐拉大吗?

苹果发布macOS Monterey,引入多项新特性如模糊背景、实况文本等,但强调M1芯片Mac优先,Intel处理器用户功能受限,引发讨论。苹果为何偏爱M1,Intel处理器是否缺失关键组件?

整理 | Carol

出品 | 优快云(ID:优快云news)

近日,苹果正式发布了下一代桌面系统macOS Monterey,同时还新增了一些很有意思的功能。比如:

  • FaceTime视频中的人像模式模糊背景;

  • 用于复制和粘贴、查找或翻译照片中文本的实况文本;

  • 地图应用中的交互式3D地球;

  • 地图应用中旧金山、洛杉矶、纽约和伦敦等城市的更详细地图;

  • 更多语言的文本到语音转换,包括瑞典语、丹麦语、挪威语和芬兰语;

  • 完全脱机执行所有处理的设备键盘听写;

  • 无限制的键盘听写(以前限制为每次实例60秒);

  • ......

看起来确实是增加了不少的新能力,但问题是,在macOS Monterey的功能页面上,有一行小字显示, 以下功能需要配备M1芯片的Mac才能使用。

 

放弃Intel处理器?

从目前确认的消息来看,即使这些机器现在并未老到不能兼容新功能,而且还很流畅好用,但macOS Monterey的一些新功能就是无法在搭载Intel处理器的Mac、MacBook上使用的。

macOS Monterey目前看起来就像是专门为M1设计的,如果你还是想要用Intel处理器版本的Mac,那可能在使用FaceTime的时候,无法模糊背景;无法利用神经网络,将文本阅读为瑞典语、丹麦语、挪威语、芬兰语;无法离线设备听写,即语音转文本,以及无限制的持续语音转文本等等。

这样的“特殊对待”实际上也让部分用户感到不悦,认为同样是苹果的产品,一些功能优化应该同步;也有用户认为,一些基于硬件能力的功能差异是很难避免的,问题不大可以理解。

并且,苹果公司在对旧设备的支持方面,其实一直以来都做得比较不错,即使已经完成了向自身芯片的过渡,但库克仍然曾公开承诺将继续支持基于Intel处理器的Mac。

 

Intel处理器缺乏新功能所需的神经引擎?

 

苹果公司没有直接解释为什么这些功能无法在基于Intel的Mac电脑上使用。但根据猜测,是因为基于Intel的Mac电脑缺乏部分新功能所需要的神经引擎。

目前,苹果公司正在针对Mac电脑进行为期两年的转型,从使用Intel处理器到使用定制的苹果硅芯片,预计在2022年全球开发者大会(WWDC)之前完成。

不过事实也证明了,配备M1芯片的Mac比搭载Intel芯片的“前辈”们要快得多,甚至配备M1芯片的基本款MacBook Air在基准测试中的表现也超过了搭载Intel芯片的16英寸的MacBook Pro。

还有传言称,苹果公司计划在今年年底左右重新设计14英寸和16英寸的MacBook Pro,将采用更快的M1芯片。

目前,虽然部分新功能无法使用,但macOS Monterey仍然兼容多种基于Intel的Mac电脑,苹果方面也正在为开发人员提供测试版。软件更新可能会在9月到11月之间推向全用户。



☞“搏一搏,单车变摩托!”华为天才少年耗时四个月,将自行车强势升级为自动驾驶
☞阿里正在研发无人卡车;《王者荣耀》皮肤个性动作涉嫌抄袭致歉;苹果泄露女生私密照赔偿数百万美元|极客头条
☞苹果造车欲用中国电池,前提是在美国建厂?比亚迪、宁德时代正与其谈判
源码来自:https://pan.quark.cn/s/a3a3fbe70177 AppBrowser(Application属性查看器,不需要越狱! ! ! ) 不需要越狱,调用私有方法 --- 获取完整的已安装应用列表、打开和删除应用操作、应用运行时相关信息的查看。 支持iOS10.X 注意 目前AppBrowser不支持iOS11应用查看, 由于iOS11目前还处在Beta版, 系统API还没有稳定下来。 等到Private Header更新了iOS11版本,我也会进行更新。 功能 [x] 已安装的应用列表 [x] 应用的详情界面 (打开应用,删除应用,应用的相关信息展示) [x] 应用运行时信息展示(LSApplicationProxy) [ ] 定制喜欢的字段,展示在应用详情界面 介绍 所有已安装应用列表(应用icon+应用名) 为了提供思路,这里只用伪代码,具体的私有代码调用请查看: 获取应用实例: 获取应用名和应用的icon: 应用列表界面展示: 应用列表 应用运行时详情 打开应用: 卸载应用: 获取info.plist文件: 应用运行时详情界面展示: 应用运行时详情 右上角,从左往右第一个按钮用来打开应用;第二个按钮用来卸载这个应用 INFO按钮用来解析并显示出对应的LSApplicationProxy类 树形展示LSApplicationProxy类 通过算法,将LSApplicationProxy类,转换成了字典。 转换规则是:属性名为key,属性值为value,如果value是一个可解析的类(除了NSString,NSNumber...等等)或者是个数组或字典,则继续递归解析。 并且会找到superClass的属性并解析,superClass如...
基于遗传算法辅助异构改进的动态多群粒子群优化算法(GA-HIDMSPSO)的LSTM分类预测研究(Matlab代码实现)内容概要:本文研究了一种基于遗传算法辅助异构改进的动态多群粒子群优化算法(GA-HIDMSPSO),并将其应用于LSTM神经网络的分类预测中,通过Matlab代码实现。该方法结合遗传算法的全局搜索能力与改进的多群粒子群算法的局部优化特性,提升LSTM模型在分类任务中的性能表现,尤其适用于复杂非线性系统的预测问题。文中详细阐述了算法的设计思路、优化机制及在LSTM参数优化中的具体应用,并提供了可复现的Matlab代码,属于SCI级别研究成果的复现与拓展。; 适合人群:具备一定机器学习和优化算法基础,熟悉Matlab编程,从事智能算法、时间序列预测或分类模型研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①提升LSTM在分类任务中的准确性与收敛速度;②研究混合智能优化算法(如GA与PSO结合)在神经网络超参数优化中的应用;③实现高精度分类预测模型,适用于电力系统故障诊断、电池健康状态识别等领域; 阅读建议:建议读者结合Matlab代码逐步调试运行,理解GA-HIDMSPSO算法的实现细节,重点关注种群划分、异构策略设计及与LSTM的集成方式,同时可扩展至其他深度学习模型的参数优化任务中进行对比实验。
<think>我们正在解决如何调整QSS中顶部菜单栏(QMenuBar)的间距问题。用户希望拉大菜单栏项之间的水平距离。 在QSS中,可以通过设置`QMenuBar`的`item`子控件的`padding`或`margin`属性来调整菜单项之间的间距。 具体步骤: 1. 使用`QMenuBar::item`选择器 2. 调整`padding-left`和`padding-right`来增加每个菜单项内部的左右填充,从而增大间距 3. 或者调整`margin-left`和`margin-right`来增加菜单项之间的外部间距 注意:`padding`是内边距,`margin`是外边距。通常,我们使用`padding`来增加菜单项内部的空白,而使用`margin`来增加菜单项之间的间隔。 由于用户想要拉大菜单栏项之间的距离,我们更可能使用`margin`属性。 示例QSS代码: ``` QMenuBar::item { /* 设置菜单项的外边距,增加左右外边距来拉开距离 */ margin-left: 10px; margin-right: 10px; /* 也可以调整内边距,使文本周围有更多空间 */ padding: 5px 15px; } ``` 但是,请注意,菜单项之间的间隔实际上是相邻两个菜单项的左外边距和右外边距之和(相邻的外边距会合并,所以实际间隔为两者外边距的最大值)。因此,设置左右外边距可以增加它们之间的水平距离。 另外,我们还可以通过设置`QMenuBar`的`spacing`属性来调整菜单项之间的间隔。但是,`spacing`属性在Qt的样式表中并不是所有控件都支持,对于`QMenuBar`,我们可以尝试使用: ``` QMenuBar { spacing: 15px; /* 设置菜单项之间的间隔 */ } ``` 但是请注意,根据Qt文档,`spacing`属性在`QMenuBar`中可能不被直接支持(不同版本可能有差异)。因此,更通用的方法是使用`QMenuBar::item`的`margin`。 因此,推荐使用`margin`来调整。 下面是一个完整的QMenuBar样式示例,其中包含增加菜单项之间距离的样式: ```css /* 设置菜单栏背景 */ QMenuBar { background-color: rgba(20, 40, 80, 200); border-bottom: 1px solid rgba(60, 120, 200, 150); } /* 设置菜单项样式 */ QMenuBar::item { /* 增加左右外边距,拉大菜单项之间的距离 */ margin: 5px 15px; /* 上下5px,左右15px */ padding: 5px 10px; /* 内部填充,使文本周围有空间 */ color: rgba(200, 220, 255, 220); border-radius: 4px; } /* 鼠标悬停时的样式 */ QMenuBar::item:selected { background-color: rgba(50, 120, 220, 200); } /* 鼠标按下时的样式 */ QMenuBar::item:pressed { background-color: rgba(30, 80, 180, 200); } ``` 在这个示例中,我们通过设置`QMenuBar::item`的`margin`为5px(上下)和15px(左右),使得每个菜单项左右各有15px的外边距,这样相邻菜单项之间就会产生30px的间距(左边菜单项的右外边距15px和右边菜单项的左外边距15px合并后实际为15px?注意外边距合并是上下合并,左右不会合并,所以实际间距是左右外边距相加?)。实际上,相邻的两个菜单项,左边的右外边距和右边的左外边距是相邻的,它们会叠加(在水平方向上,相邻的左右外边距不会合并,而是相加)。所以两个菜单项之间的间隔是左边菜单项的`margin-right`加上右边菜单项的`margin-left`。因此,设置每个菜单项的左右外边距为15px,那么两个菜单项之间的间隔就是30px。 但是,如果觉得这样计算麻烦,我们可以通过设置每个菜单项的左外边距和右外边距,然后只调整一侧。例如,我们希望每个菜单项之间有20px的间隔,可以这样: ``` QMenuBar::item { margin-right: 20px; /* 每个菜单项右侧空出20px,这样相邻两个菜单项之间就有20px的间隔 */ } ``` 或者: ``` QMenuBar::item { margin-left: 10px; margin-right: 10px; } /* 这样每个菜单项左右都有10px的外边距,相邻两个菜单项之间就有20px的间隔(10px+10px) */ ``` 因此,用户可以根据需要调整这些值。 注意:如果菜单栏的左侧和右侧也有多余的外边距,可能需要调整`QMenuBar`的`padding`。 另外,如果菜单栏中有分隔符,我们还可以通过`QMenuBar::separator`来设置分隔符的样式,但通常我们不需要分隔符,因为间距已经足够。 总结:通过调整`QMenuBar::item`的`margin`属性(特别是左右外边距)可以有效地控制菜单项之间的水平距离。 如果用户在使用过程中遇到问题,可以尝试调整这些值直到达到满意的效果。 相关问题: 1. 如何调整QSS中菜单项(QMenu)的间距? 2. 如何改变QMenuBar的背景颜色和边框? 3. 如何设置QMenuBar中文本的字体和颜色? 4. 如何为QMenuBar添加悬停和按下效果? </think> # QSS中调整顶部菜单栏间距的方法 要拉大QSS中顶部菜单栏(QMenuBar)项之间的距离,可以通过设置`QMenuBar::item`的`margin`或`padding`属性来实现。下面是具体的解决方案和示例代码: ## 方法一:使用margin属性(推荐) ```css /* 增加菜单项之间的水平间距 */ QMenuBar::item { margin: 0 15px; /* 水平间距15px,垂直间距0 */ } /* 菜单栏整体样式 */ QMenuBar { background-color: rgba(20, 40, 80, 200); border-bottom: 1px solid rgba(60, 120, 200, 150); padding: 5px; /* 菜单栏内边距 */ } /* 菜单项样式 */ QMenuBar::item { padding: 8px 15px; /* 菜单项内边距 */ color: rgba(200, 220, 255, 220); border-radius: 4px; } QMenuBar::item:selected { background-color: rgba(50, 120, 220, 200); } QMenuBar::item:pressed { background-color: rgba(30, 80, 180, 200); } ``` ## 方法二:使用spacing属性 ```css /* 设置菜单项之间的间距 */ QMenuBar { spacing: 20px; /* 菜单项之间的间距 */ background-color: rgba(20, 40, 80, 200); padding: 5px; } ``` ## 方法三:自定义菜单项布局 ```css /* 为每个菜单项单独设置外边距 */ QMenuBar::item:first-child { margin-left: 20px; /* 第一个菜单项的左外边距 */ } QMenuBar::item:last-child { margin-right: 20px; /* 最后一个菜单项的右外边距 */ } QMenuBar::item { margin: 0 10px; /* 所有菜单项的水平外边距 */ } ``` ## 完整示例 ```css /* 科技主题菜单栏样式 */ QMenuBar { background-color: rgba(15, 30, 60, 200); border-bottom: 1px solid rgba(60, 120, 200, 150); padding: 6px 0; spacing: 5px; /* 基础间距 */ } QMenuBar::item { margin: 0 12px; /* 水平间距12px */ padding: 8px 16px; color: rgba(200, 220, 255, 220); border-radius: 4px; background-color: rgba(25, 55, 110, 180); border: 1px solid rgba(60, 120, 200, 120); } QMenuBar::item:selected { background-color: rgba(40, 90, 180, 200); border: 1px solid rgba(100, 180, 255, 200); } QMenuBar::item:pressed { background-color: rgba(30, 60, 120, 200); padding-top: 9px; /* 轻微按下效果 */ padding-left: 15px; } /* 菜单栏右侧额外间距 */ QMenuBar::item:right { margin-right: 20px; } ``` ## 关键参数说明 1. **margin属性**: - `margin: 垂直 水平;` 控制菜单项之间的外部间距 - 增加水平值可拉大菜单项之间的距离 - 示例:`margin: 0 15px;` 表示左右各15px间距 2. **spacing属性**: - 直接设置菜单项之间的间距 - 适用于整个菜单栏的统一间距设置 3. **padding属性**: - 控制菜单项内部的填充空间 - 不影响菜单项之间的距离,但影响视觉大小 ## 数学原理 菜单项间距离计算公式: $$ \text{实际间距} = \text{margin-left} + \text{margin-right} $$ 当设置`margin: 0 15px;`时: - 每个菜单项左右各有15px外边距 - 相邻菜单项间距离 = 15px (右) + 15px (左) = 30px ## 注意事项 1. 不同操作系统可能对菜单栏有默认样式,建议显式设置所有相关属性 2. 使用半透明效果时,确保足够的对比度 3. 测试不同DPI设置下的显示效果 # 相关问题 1. 如何在QSS中调整菜单(QMenu)项之间的垂直间距? 2. QSS中如何为菜单栏添加图标和自定义箭头? 3. 如何实现QMenuBar的动态折叠/展开效果? 4. 在QSS中如何处理菜单栏在高DPI屏幕上的缩放问题?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值