经过几个小时在网上搜索我的问题的解决方案后,我仍然被卡住了。这是显示问题:
作为编程的初学者,我通过WxPython
完成了图形界面,以显示文本文件的某些值,这与经典版本的WxPython
完美配合。 / p>
凤凰城完全相同的代码导致"扁平化"在几个像素内的y方向图...我真的不明白为什么......
我只是创建一个Paint Dc来显示具有X和Y方向的图形。在凤凰城,Y轴是完全平坦的,相关的基本图例是不可读的!...这也出现在Windows XP中wxpython
经典,但在Windows 7中与wxpython
经典完美配合... < / p>
以下是OnPaint
方法的一部分:
def OnPaint(self, event):
self.dc = wx.PaintDC(self)
self.dc.Clear()
self.dc.SetBrush(wx.Brush('#ffffff', wx.TRANSPARENT))
self.dc.SetPen(wx.Pen((100,100,100),style=wx.SOLID))
self.dc.DrawRectangle(10, 10, 210, 30)
if self.Cadre_situation == 1:
self.dc.SetPen(wx.Pen('#FF0000'))
self.dc.DrawRectangle(460, 528, 330, 80)
self.dc.SetDeviceOrigin(330, 178)
self.dc.SetAxisOrientation(True, True)
self.dc.SetPen(wx.Pen('#4169E1'))
# font = self.dc.GetFont()
font = wx.Font(11, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.NORMAL)
font.SetPointSize(8.5)
self.dc.SetFont(font)
self.dc.DrawLine(1, 1, 530, 1)
self.dc.DrawLine(1, 1, 1, 120)
Increment = 0
for i in range(0, 140, 20):
self.dc.DrawText(str(self.Max_Echelle / 6 * Increment) + ' m3/sec', -75, i+10)
self.dc.DrawLine(2, i, -5, i)
Increment += 1
for i in range(140, 590, 150):
self.dc.DrawLine(i+5, 7, i+5, -7)
self.dc.DrawLine(1, 7, 1, -7)
for i in range(4):
self.dc.DrawText(self.times[i], i*150-40, -12)
self.dc.SetPen(wx.Pen('#4169E1'))
for i in range(10, 310, 10):
self.dc.DrawSpline(self.data)
self.dc.DrawLine(1 + 2 * self.Nombre_de_reculs, 1, 1 + 2 * self.Nombre_de_reculs, 120)
self.dc.SetPen(wx.Pen('#FF00FF'))
for i in range(10, 310, 10):
self.dc.DrawSpline(self.discharge_gaul)
self.dc.SetPen(wx.Pen('#4169E1'))
self.dc.SetDeviceOrigin(860, 178)
self.dc.DrawLine(1, 1, 1, 120)
for i in range(0, 121, 20):
self.dc.DrawText(str((i)/20) + ' m', 10, i+10)
self.dc.DrawLine(2, i, -5, i)
event.Skip()
当我们想要将简单的图形绘制到设备上下文中时,问题似乎是在轴方向上:
self.dc.SetAxisOrientation(True, True)
实际上,当我使用上述公式时,Y方向不能正常工作(仍然从上到下显示Y方向,图纸的大小除以100之类的东西!),但是如果我&# 39; m试图把&#34; True,False&#34;甚至&#34; False,False&#34;在参数中,显示器以适当的比例工作,但图表是颠倒的......
在新凤凰版中设置轴方向是否有任何变化?我的图表只显示从基本数字到文本文件的曲线。