【发布时间】:2018-08-01 13:59:36
【问题描述】:
我只是有一般性的问题。我需要从将放置一些实时图形、图形等的项目开始。我应该使用什么?我只听说过 pyqt 和 tkinter。这将是一个大项目。
【问题讨论】:
我只是有一般性的问题。我需要从将放置一些实时图形、图形等的项目开始。我应该使用什么?我只听说过 pyqt 和 tkinter。这将是一个大项目。
【问题讨论】:
我推荐使用wxPython,因为wxGlade。 wxGlade 是 wxPython 的出色 GUI 构建器。它使用起来并不难,并且有很多 documentation 和 guides。我从来没有遇到过 Python v3.2+ 的任何问题。
将wxPython 与PyPlot 结合起来创建大量图表。 Here 是众多教程之一。
您也可以使用matplotlib,另一个流行的图形/绘图库。
from numpy import arange, sin, pi
import matplotlib
matplotlib.use('WXAgg')
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
from matplotlib.backends.backend_wx import NavigationToolbar2Wx
from matplotlib.figure import Figure
import wx
class CanvasPanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.figure = Figure()
self.axes = self.figure.add_subplot(111)
self.canvas = FigureCanvas(self, -1, self.figure)
self.sizer = wx.BoxSizer(wx.VERTICAL)
self.sizer.Add(self.canvas, 1, wx.LEFT | wx.TOP | wx.GROW)
self.SetSizer(self.sizer)
self.Fit()
def draw(self):
t = arange(0.0, 3.0, 0.01)
s = sin(2 * pi * t)
self.axes.plot(t, s)
if __name__ == "__main__":
app = wx.PySimpleApp()
fr = wx.Frame(None, title='test')
panel = CanvasPanel(fr)
panel.draw()
fr.Show()
app.MainLoop()
【讨论】:
wxPython 包装了原生设计器元素——所以如果你在 Windows 10 上运行它,它看起来像 Windows 10、Mac OS X 等。它看起来像低档的 Windows 98 风格,因为 @987654337 @。自己研究一下如何自定义绘制元素、动画等。这只是一点几何和乐趣。 :) @forqed