python类CallAfter()的实例源码

IDEFrame.py 文件源码 项目:beremiz 作者: nucleron 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def OnPageClose(self, event):
        """Callback function when AUINotebook Page closed with CloseButton

        :param event: AUINotebook Event.
        """
        selected = self.TabsOpened.GetSelection()
        if selected > -1:
            window = self.TabsOpened.GetPage(selected)

            if window.CheckSaveBeforeClosing():

                # Refresh all window elements that have changed
                wx.CallAfter(self._Refresh, TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU, DISPLAYMENU)
                wx.CallAfter(self.RefreshTabCtrlEvent)
                wx.CallAfter(self.CloseFindInPouDialog)
                event.Skip()
            else:
                event.Veto()
EnhancedStatusBar.py 文件源码 项目:beremiz 作者: nucleron 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def __init__(self, parent, id=wx.ID_ANY, style=wx.ST_SIZEGRIP,
                 name="EnhancedStatusBar"):
        """Default Class Constructor.

        EnhancedStatusBar.__init__(self, parent, id=wx.ID_ANY,
                                   style=wx.ST_SIZEGRIP,
                                   name="EnhancedStatusBar")
        """

        wx.StatusBar.__init__(self, parent, id, style, name)

        self._items = {}
        self._curPos = 0
        self._parent = parent

        wx.EVT_SIZE(self, self.OnSize)
        wx.CallAfter(self.OnSize, None)
ProjectPropertiesPanel.py 文件源码 项目:beremiz 作者: nucleron 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def GetPageSizeChangedFunction(self, spinctrl, name):
        def PageSizeChangedFunction(event):
            if self.Controller is not None:
                if self.Values is not None:
                    old_value = self.Values.get("pageSize")
                else:
                    old_value = (0, 0)
                if name == 'PageWidth':
                    new_value = (spinctrl.GetValue(), old_value[1])
                else:
                    new_value = (old_value[0], spinctrl.GetValue())
                if old_value != new_value:
                    self.Controller.SetProjectProperties(properties={"pageSize": new_value})
                    self.ParentWindow._Refresh(TITLE, FILEMENU, EDITMENU,
                                               PAGETITLES, SCALING)
                    wx.CallAfter(self.RefreshView)
            event.Skip()
        return PageSizeChangedFunction
ProjectPropertiesPanel.py 文件源码 项目:beremiz 作者: nucleron 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def GetScalingChangedFunction(self, spinctrl, language, name):
        def ScalingChangedFunction(event):
            if self.Controller is not None:
                old_value = (0, 0)
                if self.Values is not None:
                    scaling = self.Values.get("scaling")
                    if scaling is not None:
                        old_value = scaling.get(language)
                if name == 'XScale':
                    new_value = (spinctrl.GetValue(), old_value[1])
                else:
                    new_value = (old_value[0], spinctrl.GetValue())
                if old_value != new_value:
                    self.Controller.SetProjectProperties(properties={"scaling": {language: new_value}})
                    self.ParentWindow._Refresh(TITLE, FILEMENU, EDITMENU,
                                               PAGETITLES, SCALING)
                    wx.CallAfter(self.RefreshView)
            event.Skip()
        return ScalingChangedFunction
SFCViewer.py 文件源码 项目:beremiz 作者: nucleron 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def OnViewerRightUp(self, event):
        if self.GetDrawingMode() == FREEDRAWING_MODE:
            Viewer.OnViewerRightUp(self, event)
        else:
            element = self.FindElement(event)
            if element:
                if self.SelectedElement and self.SelectedElement != element:
                    self.SelectedElement.SetSelected(False)
                self.SelectedElement = element
                if self.IsWire(self.SelectedElement):
                    self.SelectedElement.SetSelectedSegment(0)
                else:
                    self.SelectedElement.SetSelected(True)
                    self.SelectedElement.OnRightUp(event, self.GetLogicalDC(), self.Scaling)
                    self.SelectedElement.Refresh()
                wx.CallAfter(self.SetCurrentCursor, 0)
        event.Skip()
DataTypeEditor.py 文件源码 项目:beremiz 作者: nucleron 项目源码 文件源码 阅读 16 收藏 0 点赞 0 评论 0
def OnEnumeratedValueEndEdit(self, event):
        text = event.GetText()
        values = self.EnumeratedValues.GetStrings()
        index = event.GetIndex()
        if index >= len(values) or values[index].upper() != text.upper():
            if text.upper() in [value.upper() for value in values]:
                message = wx.MessageDialog(self, _("\"%s\" value already defined!") % text, _("Error"), wx.OK | wx.ICON_ERROR)
                message.ShowModal()
                message.Destroy()
                event.Veto()
            elif text.upper() in IEC_KEYWORDS:
                message = wx.MessageDialog(self, _("\"%s\" is a keyword. It can't be used!") % text, _("Error"), wx.OK | wx.ICON_ERROR)
                message.ShowModal()
                message.Destroy()
            else:
                initial_selected = None
                if index < len(values) and self.EnumeratedInitialValue.GetStringSelection() == values[index]:
                    initial_selected = text
                wx.CallAfter(self.RefreshEnumeratedValues, initial_selected)
                wx.CallAfter(self.RefreshTypeInfos)
                event.Skip()
        else:
            event.Skip()
wxPython_Wallpaper.py 文件源码 项目:Python-GUI-Programming-Cookbook-Second-Edition 作者: PacktPublishing 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def sizeCallback(self, event):
        wx.CallAfter(self.setViewport)
        event.Skip()
wxPython_OpenGL_GUI.py 文件源码 项目:Python-GUI-Programming-Cookbook-Second-Edition 作者: PacktPublishing 项目源码 文件源码 阅读 16 收藏 0 点赞 0 评论 0
def sizeCallback(self, event):
        wx.CallAfter(self.setViewport)
        event.Skip()
import_OpenGL_cube_and_cone.py 文件源码 项目:Python-GUI-Programming-Cookbook-Second-Edition 作者: PacktPublishing 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def OnSize(self, event):
        wx.CallAfter(self.DoSetViewport)
        event.Skip()
wxPython_Wallpaper_simple.py 文件源码 项目:Python-GUI-Programming-Cookbook-Second-Edition 作者: PacktPublishing 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def sizeCallback(self, event):
        wx.CallAfter(self.setViewport)
        event.Skip()
SndView.py 文件源码 项目:SpatialTool 作者: JRcard 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def setImage(self):
        if self.obj is not None:
            self.img = self.obj.getViewTable(self.GetSize(), self.begin, self.end)
            wx.CallAfter(self.Refresh)
SndView.py 文件源码 项目:SpatialTool 作者: JRcard 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def updatePlayCursorPos(self, pos):
        w,h = self.GetSize()
        # Function receives value between 0 and 1.0. This value needs to be converted into absolute pixels.
        pos = math.floor(pos * w)
        self.playCursorPos = pos
        wx.CallAfter(self.Refresh)
SndView.py 文件源码 项目:SpatialTool 作者: JRcard 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def OnSize(self, evt):
        wx.CallAfter(self.setImage)
SndView.py 文件源码 项目:SpatialTool 作者: JRcard 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def update(self):
        """
        Display updating method.

        This method is automatically called by the audio memory
        object (SndTable) when the table is modified.

        The method setTable(obj) must be used to register the audio
        memory object.

        """
        wx.CallAfter(self.sndview.setImage)
Main.py 文件源码 项目:nodemcu-pyflasher 作者: marcelstoer 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def write(self, string):
        if string.startswith("\r"):
            # carriage return -> remove last line i.e. reset position to start of last line
            current_value = self.__out.GetValue()
            last_newline = current_value.rfind("\n")
            new_value = current_value[:last_newline + 1]  # preserve \n
            new_value += string[1:]  # chop off leading \r
            wx.CallAfter(self.__out.SetValue, new_value)
        else:
            wx.CallAfter(self.__out.AppendText, string)
view.py 文件源码 项目:gopro-organizer 作者: angusmacdonald 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def AddMessage(self, message):
        lock.acquire()

        try:
            logging.debug("Incoming message: {}".format(message))

            newStatus = "{}\n".format(message)

            wx.CallAfter(self.statusUpdates.AppendText, newStatus)



        finally:
            lock.release() # release lock, no matter what
dfgui.py 文件源码 项目:PandasDataFrameGUI 作者: bluenote10 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def on_left_down(self, event):
        if self.HitTest(event.GetPosition()) != wx.NOT_FOUND:
            index = self.HitTest(event.GetPosition())
            self.selected_items[index] = not self.selected_items[index]
            # doesn't really work to update selection direclty (focus issues)
            # instead we wait for the EVT_LISTBOX event and fix the selection
            # there...
            # self.update_selection()
            # TODO: we could probably use wx.CallAfter
        event.Skip()
dfgui.py 文件源码 项目:PandasDataFrameGUI 作者: bluenote10 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def on_tab_change(self, event):
        self.page2.list_box.SetFocus()
        page_to_select = event.GetSelection()
        wx.CallAfter(self.fix_focus, page_to_select)
        event.Skip(True)
plots.py 文件源码 项目:CSB 作者: csb-toolbox 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def _invoke(self, callable, *args):

        wx = self._wx
        wx.CallAfter(callable, *args)
background_music_player.py 文件源码 项目:FestEngine 作者: Himura2la 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def _fade_sync(self, vol_range, delay):
        window_exists = self.window_exists()
        if window_exists:
            wx.CallAfter(lambda: self.window.vol_slider.Enable(False))

        vol_msg = ''
        for i in vol_range:
            self.player.audio_set_volume(i)
            vol_msg = 'Vol: %d' % self.player.audio_get_volume()
            wx.CallAfter(lambda: self.parent.set_bg_player_status('Fading %s... %s' %
                                                                  ('in' if vol_range[0] < vol_range[-1] else 'out',
                                                                   vol_msg)))
            if window_exists:
                def ui_upd():
                    self.window.vol_slider.SetValue(i)
                    self.window.vol_label.SetLabel("FAD: %d" % i)
                wx.CallAfter(ui_upd)
            time.sleep(delay)

        wx.CallAfter(lambda: self.parent.set_bg_player_status(vol_msg))

        if window_exists:
            def ui_upd():
                self.window.vol_slider.Enable(True)
                self.window.vol_label.SetLabel("VOL: %d" % i)
            wx.CallAfter(ui_upd)


问题


面经


文章

微信
公众号

扫码关注公众号