gpt4 book ai didi

Python - wxPython : Using wx. ClientDC画线,最小化窗口后会消失

转载 作者:行者123 更新时间:2023-12-01 05:00:04 26 4
gpt4 key购买 nike

我想在单击按钮后画一些线。但是,当我最小化窗口或在 ScrolledWindow 中滚动窗口时,所有绘图都将丢失。有什么办法可以留住它们吗?

这是代码:

import wx

class Frame(wx.Frame):

def __init__(self):
wx.Frame.__init__(self, None, -1, size=(640, 480))
self.panel = wx.Panel(self, wx.ID_ANY)

button = wx.Button(self.panel, id=wx.ID_ANY, label=u'Start Calculation', size=(160, 22))
self.Bind(wx.EVT_BUTTON, self.OnButtonCalcuating, button)


def OnButtonCalcuating(self, event):
self.dc = wx.ClientDC(self.panel)
self.dc.DrawLine(50, 60, 190, 60)


if __name__ == '__main__':
app = wx.PySimpleApp()
frame = Frame()
frame.Show()
app.MainLoop()

最佳答案

如果你想在窗口中绘画,你必须为 EVT_PAINT 事件创建一个处理程序。你所做的就是画出你的线条,但仅此而已。当窗口被重新绘制时,并且不再了解您的线条。

看看这个: http://wiki.wxpython.org/VerySimpleDrawing

关于Python - wxPython : Using wx. ClientDC画线,最小化窗口后会消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26458032/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com