- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试格式化 PopupMenu,并注意到当我制作 FieldSize->7 时,菜单中的一项将换行,即使在我看来有足够的空白本来可以用在右边的。
当我增加 FieldSize->8 时,fieldSize 现在就足够了,并且没有菜单项会环绕。
但在我看来,现在有很多空白空间被浪费了。我为 PopupMenu 尝试了很多选项,例如 ContentPadding 等,以使项目更紧凑,但当我将 fieldSize 设置回 7 时,它坚持包裹那个项目。
可能是字体样式问题?我想知道是否有人可以解决这个问题。
这是代码,并显示了问题
Manipulate[
opt,
Control[{ {opt,0,Style["display",11]},
{0->Text@Style["bob only",Small],
4->Text@Style["L + bob",Small],
1->Text@Style["L only",Small],
2->Text@Style["L resolved",Small],
3->Text@Style["L + resolved",Small],
5->Text@Style["L resolved + bob",Small],
6->Text@Style["show all above",Small]
},
ControlType->PopupMenu,FieldSize->7,
ImageMargins->0,
FrameMargins->0,ContentPadding->True,ImageSize->Small}]
]
这是我打开菜单时的截图
所以,现在我更改 FieldSize->8,现在它看起来像这样:
但是请注意上面,我认为右侧的空白区域太多,而 FieldSize->7 应该足够宽以便该项目不会环绕?。
我尝试了 FontFamily->"Times"和 "Courier",效果相同:
Manipulate[opt,
Control[{ {opt,0,Style["display",11]},
{0->Text@Style["bob only",Small,FontFamily->"Courier"],
4->Text@Style["L + bob",Small,FontFamily->"Courier"],
1->Text@Style["L only",Small,FontFamily->"Courier"],
2->Text@Style["L resolved",Small,FontFamily->"Courier"],
3->Text@Style["L + resolved",Small,FontFamily->"Courier"],
5->Text@Style["L resolved + bob",Small,FontFamily->"Courier"],
6->Text@Style["show all above",Small,FontFamily->"Courier"]
},ControlType->PopupMenu,FieldSize->7,
ImageMargins->0,FrameMargins->0,ContentPadding->True,ImageSize->Small}]
]
实际上,现在使用 Courier,我必须转到 FieldSize->9 才能让那个字段现在不回绕。所以 Courier 的情况变得更糟。
有没有可能让这个领域比现在更紧密?
编辑 1:回复 Sprite 先生:
编辑 2:
使用 FieldSize->Automatic,使整个菜单大小根据所选项目改变大小。
Manipulate[opt,Control[{{opt,0,Style["display",11]},
{0->Style["bob only",Small],
1->Style["L + bob",Small],
2->Style["L only",Small],
3->Style["L resolved",Small],
4->Style["L + resolved",Small],
5->Style["L resolved + bob",Small],
6->Style["show allabove",Small]},
ControlType->PopupMenu,FieldSize->Automatic,
ImageMargins->0,FrameMargins->0,ImageSize->Small}]]
12 月 21 日凌晨 1 点更新
下图显示了如何使用 Leonid 宏方法使其更容易通过使用构建 UI 并减少 UI 对象自定义的代码重复的宏。我目前大量使用这种方法并且有一个复杂的用户界面4,000 行仅用于 UI 本身,我无法以旧方式完成此操作,因为我会失去对事物的控制。
宏使管理代码布局更容易,更重要的是,现在我可以通过编辑小代码而不是很容易地改变用户界面本身宏代表的较大代码。没有 GUI 生成器,宏是下一个最好的事情:)
这是上面的代码
Manipulate[
Row[{opt1, opt2}],
Evaluate@With[{
popUpMenu1Options = MenuStyle -> {Red},
popUpMenu2Options = MenuStyle -> {Black},
popUpMenuCommonOptions = {BaseStyle -> 20, ImageMargins -> 0,
FrameMargins -> 0, ImageSize -> All}
},
With[{
menu1 = PopupMenu[Dynamic[opt1],
{"A", "B"
}, Sequence[popUpMenu1Options, popUpMenuCommonOptions]
],
menu2 = PopupMenu[Dynamic[opt2],
{"C", "D"
}, Sequence[popUpMenu2Options, popUpMenuCommonOptions]
]
},
Row[{menu1, menu2}]
]
],
{{opt1, "A"}, None},
{{opt2, "D"}, None},
TrackedSymbols :> {opt1, opt2}
]
最佳答案
根据 Simon 的回答稍作修改效果更好:
Manipulate[opt,
Control[{{opt, 0, Style["display", 11]},
{0 -> Style["bob only", Small],
1 -> Style["L only", Small],
4 -> Style["L + bob", Small],
2 -> Style["L resolved", Small],
3 -> Style["L + resolved", Small],
5 -> Style["L resolved + bob", Small],
6 -> Style["show all above", Small]},
ControlType -> PopupMenu,
ImageMargins -> 0,
FrameMargins -> 0,
ImageSize -> All}]]
关于wolfram-mathematica - 当 FieldSize 不够时,如何使 PopupMenu 中的项目更紧凑(更少的空白),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6339703/
我记得 WRI 的某个人在 official newsgroup 中说出于兼容性目的,Mathematica 7 仍然有一个来自 Mathematica 5 的老式 Mathematica 帮助浏览器
除非巫师先生在度假,否则很难击败这种似乎具有无所不在和无所不知的现象。我们如何使用 Mathematica 和 StackOverflow API 超越他? 最佳答案 这是 Sjoerd 解决方案的一
您好,我无法理解以下函数的输出。 ListPointPlot3D[Table[Sin[x^2 + y], {x, 0, 3, 0.15}, {y, 0, 3
我在图形中显示了一组点: alt text http://img69.imageshack.us/img69/874/plc1k1lrqynuyshgrdegvfy.jpg 我想知道是否有任何命令可以
让 S是具有唯一元素的向量,并且 s它的一个子集,也有独特的元素;例如,S={1,2,3,4,5,6}和 s={1,3,4,6} .现在给出另一个向量 c={7,8,9,7} ,如何创建矢量 C=[7
我想知道如果给定多个替换规则,mma 如何确定在发生碰撞时首先应用哪个规则。一个例子是: x^3 + x^2*s + x^3*s^2 + s x /. {x -> 0, x^_?OddQ -> 2}
在mathematica 中(我使用的是 mma 5.0(猜猜很老)),如果我将以下内容作为一行输入: Needs["Graphics`Master`"]; Animate[Plot[Sin[n x]
如果我有一个字母表,假设 sigma = {1,2,3,4,a,b,c,d,e,f,g} 并且想要生成所有长度为 n 的单词,有没有办法做到这一点? 我可以做 Flatten[Outer[Functi
生成参数列表的素数列表的最简单函数是什么?想出这样的函数并不难,比如: foo[n_] := Block[{A = {}, p = 2}, While[p All] 关于wol
在此示例中,将函数定义为“functionB”时,这是一个奇怪的结果。有人可以解释吗?我想绘制functionB[x]和functionB[Sqrt[x]],它们必须不同,但是此代码显示functio
如何在 Mathematica 中对列表进行数值微分而不先将其拟合为数学表达式(即使用 FindFit )? 具体来说,我想在列表中找到最大斜率的点。 我已经考虑使用 Differences并找到最大
我正在寻找 Mathematica 中原子对象的完整列表(其中 AtomQ 产生 True)。 我知道 Symbol String Integer Real Rational Complex Spar
最近发现了一些old post在 MathGroup 上使用未记录的命令行选项 -batchinput和 -batchoutput显示: If test.mma contains the follo
Mathematica 似乎缺少此功能,或者无论如何我都找不到它。 Series function 可以对多个变量进行连续扩展,但它似乎无法进行完整的多元扩展。 有谁知道如何做到这一点? 谢谢 最佳答
我有兴趣运行相同的函数,该函数以并行方式在多核上使用不同的参数值进行一些蒙特卡罗评估。我还想确保整个函数在同一个内核上运行,而函数内的计算不会跨内核分布。例如,假设我有一个函数(故意简化) f[a_,
我怎样才能从 Range[96] 中不重复地获得 48 个随机对的两个不同元素?即 96 个元素只使用一次。 当我尝试将元组/子集与 Select 结合使用时,我觉得必须有一种更直接的方法来实现这一点
我正在评估 Wolfram Mathematica 8 的大学类(class)项目。 我很难定义目标编程模型。 首先是因为我在数学方面真的很匮乏 :) 其次,因为我在 official documen
我开发了一些代码来从 LogNormalDistribution 和 StableDistribution 的乘积生成随机变量: LNStableRV[{\[Alpha]_, \[Beta]_, \[
我有一个想要优化的字符串验证函数。该字符串的长度为 2n,由 0 和 1 组成,例如 str="100001"。我想测试一下: 1) 字符串中奇数索引位置的 1 的数量(必须不少于 1)是否等于偶数索
请考虑: Function[subID, pointSO[subID] = RandomInteger[{1, 4}, {5, 2}]] /@ {"subA", "subB"}; M
我是一名优秀的程序员,十分优秀!