在矩形中显示数字
Display number in rectangle
请注意,我使用的是 Python3 和 Phoenix。
我想在矩形内显示以某种方式格式化的数字(双精度,但现在这无关紧要):几乎是 wx.StaticText
但不可编辑由用户。这是为了显示一些来自某些硬件的数据,例如温度。
有这样的插件吗?
我尝试使用默认的 wx.StaticText
样式,但我一定是做错了什么:
hbox = wx.BoxSizer(wx.HORIZONTAL)
title = wx.StaticText(parent, label=label)
title.SetLabelMarkup("<b>{}</b>".format(label))
hbox.Add(title, border=5)
value = wx.StaticText(parent, label="3.141592", style=wx.BORDER_RAISED)
value.SetWindowStyle(wx.BORDER_SIMPLE)
hbox.Add(value, border=5)
title = wx.StaticText(parent, label="\u2103")
hbox.Add(title, border=5)
在 Linux(Fedora 24、GTK)上显示:
最简单的解决方案是只使用带有边框样式的 wxStaticText
(例如 wxBORDER_SIMPLE
,...)。如果您不喜欢这导致的外观,让您自己的小部件绘制您想要的任何边框非常简单:只需创建一个 window,定义它的 wxEVT_PAINT
处理程序并绘制(大概居中)里面有文字,外面有边框。
使用 wx.TextCtrl
设置为只读不可以吗?
Temp = wx.TextCtrl(panel1, value="3.141592", style=wx.TE_READONLY)
Temp.SetBackgroundColour('green')
请注意,我使用的是 Python3 和 Phoenix。
我想在矩形内显示以某种方式格式化的数字(双精度,但现在这无关紧要):几乎是 wx.StaticText
但不可编辑由用户。这是为了显示一些来自某些硬件的数据,例如温度。
有这样的插件吗?
我尝试使用默认的 wx.StaticText
样式,但我一定是做错了什么:
hbox = wx.BoxSizer(wx.HORIZONTAL)
title = wx.StaticText(parent, label=label)
title.SetLabelMarkup("<b>{}</b>".format(label))
hbox.Add(title, border=5)
value = wx.StaticText(parent, label="3.141592", style=wx.BORDER_RAISED)
value.SetWindowStyle(wx.BORDER_SIMPLE)
hbox.Add(value, border=5)
title = wx.StaticText(parent, label="\u2103")
hbox.Add(title, border=5)
在 Linux(Fedora 24、GTK)上显示:
最简单的解决方案是只使用带有边框样式的 wxStaticText
(例如 wxBORDER_SIMPLE
,...)。如果您不喜欢这导致的外观,让您自己的小部件绘制您想要的任何边框非常简单:只需创建一个 window,定义它的 wxEVT_PAINT
处理程序并绘制(大概居中)里面有文字,外面有边框。
使用 wx.TextCtrl
设置为只读不可以吗?
Temp = wx.TextCtrl(panel1, value="3.141592", style=wx.TE_READONLY)
Temp.SetBackgroundColour('green')