- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在为 Linux 上的 wxPython 而苦苦挣扎。经过大量时间和调查,我已将我的程序减少到最低限度,以向您展示我遇到的一个问题。我可以将它缩减为一个非常小的代码示例,在窗口中仅使用一个由计时器更新的仪表。我的第一个问题出现在按钮的背景颜色应该很快改变的地方,这导致了奇怪的内存错误。由于完整的应用程序非常复杂,所以我搜索了一个简单的示例 - bingo!这是在 Windows 上运行良好但在 Raspberry Pi 以及 Raspberry Pi 和 Debian 9 的 VirtualBox VM 上运行良好的简化代码。我已经尝试过 wxPython 3.0.2.0 和 4.0.3,每个都带有 gtk2 和 python 2.7 以及 python 3.5:
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
import wx
from threading import Timer
class MainWindow(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title="Test", size=(600, 100))
panel = wx.Panel(self)
self.gauge = wx.Gauge(panel, wx.ID_ANY, 100, (10, 10), (480, 10))
self.gaugeval = 0
self.gauge.SetValue(self.gaugeval)
self.Show()
Timer(1, self.loop).start()
def loop(self):
self.gaugeval += 1
if self.gaugeval > 100:
self.gaugeval = 0
self.gauge.SetValue(self.gaugeval)
Timer(0.01, self.loop).start()
app = wx.App(False)
frame = MainWindow()
app.MainLoop()
启动程序后,需要一秒钟的时间,仪表才会“启动”并从左到右填满条形图,然后再次从左侧开始,依此类推。但是,在任何经过测试的 Linux 系统上,它都会很快死机。
这里发生了什么?谁能重现这个?我简直不敢相信这么简单的功能不会起作用。非常感谢您查看此问题!
最佳答案
我怀疑您的问题可能与使用线程模块中的 Timer
有关。
使用 wx.Timer
。
import wx
class MainWindow(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title="Test", size=(600, 100))
panel = wx.Panel(self)
self.timer = wx.Timer(self)
self.Bind(wx.EVT_TIMER, self.onTimer, self.timer)
self.gauge = wx.Gauge(panel, wx.ID_ANY, 100, (10, 10), (480, 10))
self.Show()
self.timer.Start(100) # fire every 10th of a second
def onTimer(self, evt):
val = self.gauge.GetValue()
val += 1
if val > 100:
val = 0
self.gauge.SetValue(val)
app = wx.App(False)
frame = MainWindow()
app.MainLoop()
关于python - wxPython 仪表在 Linux 上卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51755148/
我是 ASM(字节码操作工具包)的新手,正在使用它来检测 Java 字节码。我想访问类的方法并使用 ASM 更改它们的访问修饰符。有人知道如何实现这一目标吗?我知道调用 visitMethod 会有所
如何使用 Instrumentation 从 TestCase 中控制 Android Activity 的生命周期? 关于 official documentation ,声明为“生命周期控制:使用
我正在尝试构建类似于以下内容的 SVG: 笔画是完全动态的,因为它们来自 API。我想将笔画放在收到的点上(作为百分比值数组)。不必有序且两笔之间的距离不必相等 我正在尝试类似下面的方法,但无法提出笔
我正在使用基于 (Chartjs-tsgauge) 的仪表图表。 我想为图表设置与仪表限制分开的背景颜色。如何的问题图表.JS 渲染背景,因为我使用的插件没有关于背景的代码。 例如,我有一个有限制的仪
我有一个来自 logstash 的数据,它显示了数据库中的表使用了多少空间以及表的最大分配容量。我想在 Kibana 中为每个表创建显示当前占用多少空间的仪表。 问题是最大可用空间有时会发生变化,因此
我正在使用 HighChart 的 Angular Gauge,想知道是否可以有不等的间隔。目前,Y 轴上的不等间隔会影响仪表中每个绘图带的大小。如何才能在 Y 轴上具有相等的绘图带大小和不等间隔。
我是 HighCharts 的新手。 我有一个问题,当页面上有多个仪表时,第一个仪表会消失。 这个例子工作正常: HighChart test
我正在尝试使用一些现成的 javascript 来制作仪表。我快到了,但我不知道如何管理值(value)标题。 现在我的代码是这样工作的: 这就是我喜欢它的工作方式: 不知道如何解决问题。使用 Mat
我需要创建一个如下图所示的仪表。 我尝试使用JustGage为了做到这一点,但我找不到渲染仪表下部的方法(图像中的红色半圆)。 我想使用 JustGage。有人知道如何使用 JustGage 绘制“镜
我正在尝试在页面上插入多个 Google 仪表(或 Highchart 仪表)实例。 我想使用不同的选项集并将它们分开。所以我不能使用这里介绍的解决方案,我认为:Google Charts multi
我正在创建一个单页仪表板,它将在我想显示一些图表的监视器上全屏运行。我已经制作了图表,现在我只需要一个合适的页面模板。我在想这样的事情 我真的很喜欢它的外观,但我对如何使用大概的 css/js 制作这
我正在尝试编写一个应用程序,它从加速度计中获取值并通过条形仪表(或者可能是针规)显示它们,但我不确定如何让仪表工作。我正在考虑这些选择: 将仪表分成多个部分,因此仪表“填满”的多个图像,并根据加速度计
我正在尝试使用 Modbus 协议(protocol)对 Socomec 仪表执行 ping 操作,经过研究,我发现了 NModbus,这是一个 C# 库。我之前从未使用过库或 C#(通常是 Java
是否可以将 flexdashboard(下图)中的仪表嵌入 Shiny 应用程序(shinydashboard 或 shiny) >)? 来自 flexdashboard 的 Shiny flexda
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
我尝试向我的网站添加仪表,我将 js 和 css 添加到我的信息文件 比在页面中我有这段代码 $(document).ready(function(){ s1 = [1]; plo
我正在尝试在数据标签中添加图标,我成功地添加了一些像这样的 HTML return 'Partially rejected: ' + partial + '' +'Rejected: ' + reje
我发现了一些像 VU 表一样移动指针的 CSS。这模仿了我想做的事情。然而,它从头到尾做一个完整的动画。而我想通过一系列的点击来实现改变。我试图弄清楚如何做到这一点,但我没有成功。我想知道如何让针只通
我在 D3 或 C3js 中寻找这样的东西: C3 中的默认 Gauge Chart 将多个列作为数据,但随后将它们显示在同一行上,因此它们相互覆盖。 最佳答案 如果您使用的是 Angular 4,则
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我是一名优秀的程序员,十分优秀!