gpt4 book ai didi

wolfram-mathematica - 笔记本样式表可以改变代码行为吗?

转载 作者:行者123 更新时间:2023-12-03 15:03:09 24 4
gpt4 key购买 nike

我想问问以前有没有人遇到过这样的问题。我有 8.01 版,在 Windows 7 上,64 位。 SP1。

我一直试图找出为什么在我编写的某些代码中添加 Tooltip[] 命令时会导致 Mathematica 内核崩溃。

笔记本有 Wolfram 演示样式表(用于制作演示的示例样式表)。它是一个 Manipulate,全部在一个单元格中。

当我将代码复制到带有默认样式表的新笔记本中时,崩溃消失了!我无法在新笔记本中重现崩溃。

根本没有代码更改。只需复制整个单元格并将其粘贴到新笔记本中。唯一的区别是一个有Demonstration 样式表,一个是默认样式表。当我将新笔记本的 stype sheet 更改为 Demostration 时,我注意到 Tooltip 不像以前那样工作了。当我以这种风格使用示例笔记本时,当我开始使用工具提示移动鼠标时,内核崩溃了。

为了确保,我这样做了几次。结果一样。添加 Tooltip[] 后,内核仅在样式表演示时立即崩溃。

我的问题:有人见过这种行为吗?如果可以的话,我可以让这两个笔记本可用。

我得到的崩溃是:

Problem signature:
Problem Event Name: BEX64
Application Name: Mathematica.exe
Application Version: 8.0.31.32201
Application Timestamp: 4d65e0e8
Fault Module Name: StackHash_2766
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 00000000
Exception Offset: 0000000000000001
Exception Code: c0000005
Exception Data: 0000000000000008
OS Version: 6.1.7601.2.1.0.768.3
Locale ID: 1033
Additional Information 1: 2766
Additional Information 2: 2766660d255034f6e73a8cd527b6f51e
Additional Information 3: 8ab7
Additional Information 4: 8ab74987ae95fade363a8e7256e3890f

我确实向 WRI 发送了错误报告。

我的问题是:有没有人遇到过这样的问题,样式表更改会使代码表现不同?为什么样式表更改会导致这样的问题?

更新 1:

我能够制作显示部分问题的小例子。我正在制作另一个显示崩溃本身的小例子。但是下面这个例子说明了问题,就是在样式表演示的时候,Tooltip 的作用不一样。首先,这是一个屏幕截图,并排,相同的代码,左边是默认样式表,右边是演示样式

(在图片下方,我粘贴了源代码,以及如何重现问题的步骤)

enter image description here
Manipulate[

EventHandler[Dynamic[Graphics[
{
Circle[{0,0},1],
Dynamic@Tooltip[Text[Style["O",Red,16] ,pt],Style[pt]]
},
ImageSize->250, PlotRange->{{-1,1},{-1,1}}
],ContinuousAction->True],

"MouseDragged":>
( pt=MousePosition["Graphics"] )
],

{{pt,{0,0}},ControlType->None},

TrackedSymbols:> {None},
ContinuousAction->True
]

脚步:
  • 将以上代码粘贴到新的样式表中,样式默认。拖动点,当您用鼠标拖动点时,您应该始终看到坐标显示。
  • File->New->Demonstration,然后在 Manipulate 单元格中粘贴相同的代码,替换已经存在的小模板。
  • 现在做同样的事情,拖动点。您将看到在拖动鼠标时不显示工具提示。它仅在将鼠标稳定在该点上时显示。

  • 动力学中有不同的行为似乎导致了这种情况,或者这种风格的其他东西。

    我尝试了不同的样式表,工具提示在那里工作正常。只有使用演示样式表时,工具提示才会出现此问题。

    如果有人对此有解决方案,那就太好了。因为我想在演示中使用工具提示。

    我也会尝试举一个导致崩溃的例子。

    更新:

    我得到了 WRI 技术支持的回复。这是样式表问题。同时,作为解决此问题的方法是来自技术支持的建议:
    I was able to reproduce the kernel crash. It looks like a demonstration
    stylesheet issue related to imagesize fit.
    At the top of the demonstration notebook there is tab called 'Tools',
    clicking on it gives you an option called 'Resize Notebook to Fit'. On
    resizing the notebook and saving it the kernel crash does not happen.

    感谢世界资源研究所技术支持。

    2011 年 12 月 2 日更新
    根据下面的 John Fultz 回答,我现在结束这个问题。谢谢约翰。

    最佳答案

    (这个答案实际上是由 John Fultz 提供的——请参阅原始问题下的评论。我正在将其转化为答案,以便此问题不再出现在未回答问题列表中。显然,实际上是 John 应该获得任何声誉点数为此;约翰,如果你在这里发布答案,那么我会投票并删除我的。)

    您的工具提示未出现在演示版本中的原因是 Demonstration样式表在工具提示上放置了一个非零延迟,因此它们只有在将鼠标悬停在它们上面一段时间后才会出现。特别是,这意味着它们不会在拖动时出现。

    您可以通过将 Manipulate 上的延迟设置为零来扭转这种情况。 ;为此,将以下选项添加到 Manipulate称呼。

    BaseStyle -> {TooltipBoxOptions -> {TooltipDelay->0}}

    关于wolfram-mathematica - 笔记本样式表可以改变代码行为吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6797679/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com