Last active
August 29, 2015 14:25
-
-
Save Yamabiko/1ab30d62102a90dd5589 to your computer and use it in GitHub Desktop.
悪いプログラムの例。実行しない方がいい。エンコーディングは適宜。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/env python | |
# -*- coding: shift_jis -*- | |
# | |
# Written by yamabiko | |
# 2015/July/03 | |
import wx | |
PROGRAM_TITLE = "Oscillo view ver. 0.1" | |
PROGRAM_WRITER = "written by yamabiko" | |
PROGRAM_DATE = "2015/July/3" | |
class OscilloViewer(object): | |
def __init__(self): | |
# init wx window | |
self.wx = wx.App(False) | |
self.frame = wx.Frame(None, wx.ID_ANY, PROGRAM_TITLE) | |
self.timer = wx.Timer(self.frame) | |
self.checkValButton = wx.Button(self.frame, wx.ID_ANY, "Check value") | |
# events | |
self.frame.Bind(wx.EVT_BUTTON, self.start_checkval, self.checkValButton) | |
self.frame.Bind(wx.EVT_TIMER, self.OnTimer) | |
# sizer | |
self.hsizer = wx.BoxSizer(wx.HORIZONTAL) | |
self.hsizer.Add(self.checkValButton, 1, wx.EXPAND) | |
self.frame.SetSizer(self.hsizer) | |
self.frame.SetAutoLayout(1) | |
# show window | |
self.frame.Show(True) | |
# counter | |
self.counter = 0 | |
def check_value(self): | |
if self.counter % 10 == 0: | |
dlg = wx.MessageDialog(self.frame, | |
"カウンタの値が10の倍数になりました。プログラムを終了しますか?", | |
"10の倍数", | |
wx.YES_NO | wx.ICON_QUESTION) | |
if dlg.ShowModal() == wx.ID_YES: | |
self.timer.Stop() | |
dlg.Destroy() | |
def start_window(self): | |
self.wx.MainLoop() | |
def OnTimer(self, e): | |
self.counter += 1 | |
self.check_value() | |
def start_checkval(self, e): | |
self.timer.Start(50) | |
if __name__ == '__main__': | |
osv = OscilloViewer() | |
osv.start_window() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment