Example #1
0
    def __init__(self, master, status, playername, game=None, grid_view=None):
        """Constructor

        Parameters:
            master (tk.Tk|tk.Frame): The parent widget.
            status (StatusBar): The StatusBar instance the game is linked to
            game (model.AbstractGame): The game to play. Defaults to a
                                       game_regular.RegularGame.
            playername (str): Name of player
            grid_view (view.GridView): The view to use for the game. Optional.

        Raises:
            ValueError: If grid_view is supplied, but game is not.
        """
        super().__init__(master, game, grid_view)
        self.master = master
        self._status = status
        self.playername = playername
        self._status.set_gamemode(game.get_name())
        self._grid_view.config(bg="white")
        self.num_lights = tk.IntVar()
        self.num_lights.set(1)
        self.lightning_on = False
        self.counter = 0
        self.cant_acivate_error = messagebox.Message(
            message="Cannot activate position!")
        self.game_over_error = messagebox.Message(message="Game over!")
Example #2
0
 def set_up2(self):
     if self.en1.get() == 'luxshare':
         self.F5.destroy()
         F6 = Frame(master=self.master, heigh=220, width=400, borderwidth=3, relief='groove')
         b1 = Button(master=F6, text='确认', width=10, command=lambda: self.port_choose(F6)).place(x=80, y=175)
         l1 = Label(F6, text='Link times:').place(x=10, y=145)
         l1 = Label(F6, text='Play times:').place(x=200, y=145)
         l2 = Label(F6, text='Sensor Lower:').place(x=10, y=110)
         l3 = Label(F6, text='Sensor Upper:').place(x=200, y=110)
         en1 = Entry(F6, width=8, textvariable=self.spec_lo)
         en2 = Entry(F6, width=8, textvariable=self.spec_up)
         en3 = Entry(F6, width=8, textvariable=self.link_times)
         en4 = Entry(F6, width=8, textvariable=self.paly_times)
         en3.place(x=110, y=145)
         en4.place(x=300, y=145)
         en1.place(x=110, y=110)
         en2.place(x=300, y=110)
         b2 = Button(master=F6, text='取消', width=10, command=lambda: F6.destroy()).place(x=220, y=175)
         self.lb11 = Listbox(master=F6, heigh=4, width=35, selectmode='BROWSE')
         self.auto_choose_port()
         for i in self.ports:
             self.lb11.insert(END, i)
         self.lb11.place(x=50, y=10)
         F6.place(x=160, y=00, )
     else:
         m1 = mb.Message(self.master, message='Wrong Passwod ').show()
Example #3
0
def check_win(player):
    print('check who win')
    cnt = 0
    # win_rows
    for x in range(scale_size):
        x_coo = []
        y_coo = []
        cnt = 0
        for y in range(scale_size):
            if field[y][x]['text'] == player:
                cnt += 1
                x_coo.append(y)
                y_coo.append(x)
            if cnt == scale_size:
                for i in range(scale_size):
                    field[x_coo[i]][y_coo[i]]['background'] = 'grey'
                messagebox.Message('WInner',
                                   'Winner player ' + player + ' !!!')
    #win columns
    for x in range(scale_size):
        x_coo = []
        y_coo = []
        cnt = 0
        for y in range(scale_size):
            if field[x][y]['text'] == player:
                cnt += 1
                x_coo.append(x)
                y_coo.append(y)
        if cnt == scale_size:
            for i in range(scale_size):
                field[x_coo[i]][y_coo[i]]['background'] = 'grey'
            messagebox.showinfo('WInner', 'Winner player:' + player + ' !!!')
    x_coo = []
    y_coo = []
    cnt = 0
    #win main diagonal
    for x in range(scale_size):
        if field[x][x]['text'] == player:
            cnt += 1
            x_coo.append(x)
            y_coo.append(x)
    if cnt == scale_size:
        for i in range(scale_size):
            field[x_coo[i]][y_coo[i]]['background'] = 'grey'
        messagebox.showinfo('WInner', 'Winner player:' + player + ' !!!')
    x_coo = []
    y_coo = []
    cnt = 0
    #win secondary diagonal
    for x in range(scale_size):
        if field[x][scale_size - x - 1]['text'] == player:
            cnt += 1
            x_coo.append(x)
            y_coo.append(scale_size - x - 1)
            if cnt == scale_size:
                for i in range(scale_size):
                    field[x_coo[i]][y_coo[i]]['background'] = 'grey'
                    messagebox.showinfo('WInner',
                                        'Winner player:' + player + ' !!!')
Example #4
0
def newfile():
    tmsg.Message()
    ans = tmsg.askquestion("save it", "do you want to save changes ?")
    if ans == "yes":
        savefile()
    # tmsg._show("save changes","hello")
    sagar.title("untitled")
    textarea.delete(1.0, END)
def listen_keyboard(event):
    if event.keysym in allowed_symbols:
        read_keys(allowed_symbols.get(event.keysym))
    elif event.keysym == 'Escape':
        win_calc.quit()
    else:
        messagebox.Message('Wrong')
        print(event.keysym)
Example #6
0
 def ask_save_dialog(self):
     msg = "Source Must Be Saved\n" + 5 * ' ' + "OK to Save?"
     mb = tkMessageBox.Message(title="Save Before Run or Check",
                               message=msg,
                               icon=tkMessageBox.QUESTION,
                               type=tkMessageBox.OKCANCEL,
                               default=tkMessageBox.OK,
                               parent=self.editwin.text)
     return mb.show()
Example #7
0
 def print_window(self, event):
     m = tkMessageBox.Message(title="Print",
                              message="Print to Default Printer",
                              icon=tkMessageBox.QUESTION,
                              type=tkMessageBox.OKCANCEL,
                              default=tkMessageBox.OK,
                              master=self.text)
     reply = m.show()
     if reply != tkMessageBox.OK:
         self.text.focus_set()
         return "break"
     tempfilename = None
     saved = self.get_saved()
     if saved:
         filename = self.filename
     # shell undo is reset after every prompt, looks saved, probably isn't
     if not saved or filename is None:
         (tfd, tempfilename) = tempfile.mkstemp(prefix='IDLE_tmp_')
         filename = tempfilename
         os.close(tfd)
         if not self.writefile(tempfilename):
             os.unlink(tempfilename)
             return "break"
     platform = os.name
     printPlatform = 1
     if platform == 'posix':  #posix platform
         command = idleConf.GetOption('main', 'General',
                                      'print-command-posix')
         command = command + " 2>&1"
     elif platform == 'nt':  #win32 platform
         command = idleConf.GetOption('main', 'General',
                                      'print-command-win')
     else:  #no printing for this platform
         printPlatform = 0
     if printPlatform:  #we can try to print for this platform
         command = command % filename
         pipe = os.popen(command, "r")
         # things can get ugly on NT if there is no printer available.
         output = pipe.read().strip()
         status = pipe.close()
         if status:
             output = "Printing failed (exit status 0x%x)\n" % \
                      status + output
         if output:
             output = "Printing command: %s\n" % repr(command) + output
             tkMessageBox.showerror("Print status",
                                    output,
                                    master=self.text)
     else:  #no printing for this platform
         message = "Printing is not enabled for this platform: %s" % platform
         tkMessageBox.showinfo("Print status", message, master=self.text)
     if tempfilename:
         os.unlink(tempfilename)
     return "break"
Example #8
0
def saveGame(data, method):
    '''
    let the player decide if save the game or not.
    :param data: the game current data to save
    :param method: a function object to indicate how to save the game.
    :return: None
    '''
    choice = messagebox.askyesno('save the game', 'save?')
    if choice:
        method(data)
        messagebox.Message(title="save", message="save success").show()
Example #9
0
def choose_file():
    root.filename = filedialog.askopenfilename(
        initialdir="Pictures",
        title="Select a file",
        filetypes=(("csv files", "*.csv"), ("excel files", "*.xlsx"),
                   ("all files", "*.*")))
    if root.filename.split('.')[-1] == 'csv':
        excelconv(root.filename)
    elif root.filename.split('.')[-1] == 'xlsx':
        csvconv(root.filename)
    else:
        messagebox.Message(master=root, message="Invalid File Format")
Example #10
0
 def refresh_everything(self):
     try:
         while True:
             command = self.q_display.get(0)
             if command[0] == 'p':
                 row, column, player= command[1:]
                 self.graphic_board[row][column]['text'] = player
             elif command[0] == 'end_game':
                 messagebox.Message(message='Winner is %s' % command[1]).show()
                 self.reset()
     except queue.Empty:
         pass
     self.after(100, self.refresh_everything)
Example #11
0
    def choose_db(self):
        fname = askopenfilename(filetypes=(("scenario", "*.db"),
                                           ("All files", "*.*")),
                                initialdir='~/PycharmProjects/ard/')
        base=fname.split('/')
        self.current_name_db = fname
        self.window_db.insert(END, base[-1] + '\n')
        messagebox.Message('')
        messagebox.showinfo("база данных выбрана",

                                           "     текущая база данных  \n "
                                           "     {}".format(base[-1]))
        self.path = self.current_name_db

        self.request_butt.config(text='текущая база данных : {}'.format(base[-1]))
Example #12
0
def save_as():
    global file
    file = log.asksaveasfilename(initialfile="Untitled.txt",
                                 defaultextension=".txt",
                                 filetypes=[("All Files", "*.*"),
                                            ("Text Document", "*.txt")])

    if file == "":
        file = None
    else:
        with open(file, "w") as f:
            f.write(note.get(1.0, END))

        window.title(os.path.basename(file) + " - Notepad")
        msg.Message("File Saved")
Example #13
0
 def maybesave(self):
     if self.get_saved():
         return "yes"
     message = "Do you want to save %s before closing?" % (
         self.filename or "this untitled document")
     m = tkMessageBox.Message(title="Save On Close",
                              message=message,
                              icon=tkMessageBox.QUESTION,
                              type=tkMessageBox.YESNOCANCEL,
                              master=self.text)
     reply = m.show()
     if reply == "yes":
         self.save(None)
         if not self.get_saved():
             reply = "cancel"
     self.text.focus_set()
     return reply
Example #14
0
def _prompt_cb(message_type: MessageType, message: str,
               responses: PromptResponse) -> bool:
    options: Dict[str, str] = {}
    # needed to prevent UI deadlock with TK
    sleep(0.01)
    options["icon"] = message_type.get_icon()
    options["type"] = responses.get_messagebox_response()
    options["title"] = ""
    options["message"] = f"""{message}

Do you want to do this?"""
    ret = messagebox.Message(**options).show()
    ret = str(ret)
    if ret == messagebox.CANCEL:
        return None
    if ret == messagebox.OK:
        return True
    return ret == messagebox.YES
Example #15
0
 def launcher(self, select=False):
     # If location not found from default place, ask via dialog box
     # Once login pops up, grab that window
     if not select:
         print('Opening Launcher...')
         # Dialog Box!
         root = Tk()
         root.iconify()
         # Make foreground - root.lift() or...
         root.attributes("-topmost", True)
         prompt = 'Do not touch other programs until we are logged in!'
         root.after(3000, root.destroy)
         messagebox.Message(title="Warning!", message=prompt,
                            master=root).show()
         # Must specify CWD so that our launcher doesnt download patch files
         # in our script folder
         # shell=True because windows.
         self.game = sp.Popen("Launcher.exe",
                              stdout=sp.PIPE,
                              stderr=sp.PIPE,
                              shell=True,
                              cwd=self.file_path)
         self.wait_hwnd("Toontown Rewritten Launcher")
     else:
         # Dialog box for selecting a file to open.
         print('Please select file to open!')
         root = tk.Tk()
         root.withdraw()
         self.file_path = filedialog.askopenfilename()
         # self.file_paths.rsplit('/', 1)[0]:
         # Separates string into array before last backslash
         self.game = sp.Popen(self.file_path,
                              stdout=sp.PIPE,
                              stderr=sp.PIPE,
                              shell=True,
                              cwd=self.file_paths.rsplit('/', 1)[0])
         # A less direct approach to getting the window
         time.sleep(1)
         self.hwnd = win32gui.GetForegroundWindow()
Example #16
0
    def initwidgets(self):

        # frame
        self.panel = tkinter.Frame(self.window)

        # camera
        self.vid = MyVideoCapture(self.video_source)

        # Tk Image
        self.preview = PIL.ImageTk.PhotoImage(file=self.NOFILEIMAGE_DIR)

        # canvas
        self.canvas = tkinter.Canvas(self.window,
                                     width=self.vid.width,
                                     height=self.vid.height)
        self.preview_canvas = tkinter.Canvas(self.window,
                                             width=self.vid.width,
                                             height=self.vid.height)
        self.preview_canvas.create_image(0,
                                         0,
                                         image=self.preview,
                                         anchor=tkinter.NW)

        # message box
        self.messagebox = messagebox.Message()

        # label
        self.lb = tkinter.Label(self.panel,
                                text="Result",
                                textvariable=self.result,
                                font=("arial", 15))

        # button
        self.btn_snapshot = tkinter.Button(self.panel,
                                           width=10,
                                           height=1,
                                           text="Snapshot",
                                           command=self.snapshot,
                                           font=("arial", 15),
                                           bg='green',
                                           fg='white')
        self.btn_send = tkinter.Button(self.panel,
                                       width=10,
                                       height=1,
                                       text="Google API",
                                       command=self.result_from_google,
                                       font=("arial", 15),
                                       bg='blue',
                                       fg='white')
        self.btn_fee = tkinter.Button(self.panel,
                                      width=10,
                                      height=1,
                                      text="Checkout",
                                      command=self.fee,
                                      font=("arial", 15),
                                      bg='green',
                                      fg='white')
        self.btn_quit = tkinter.Button(self.panel,
                                       width=10,
                                       height=1,
                                       text="QUIT",
                                       command=self.window.destroy,
                                       font=("arial", 15),
                                       bg='red',
                                       fg='white')
        self.btn_tesseract = tkinter.Button(self.panel,
                                            width=10,
                                            height=1,
                                            text='tesseract(off)',
                                            command=self.tesseract_enable,
                                            font=("arial", 15),
                                            bg='orange')
        self.btn_charRecognition = tkinter.Button(
            self.panel,
            width=20,
            height=1,
            text='charRecognition(off)',
            command=self.charRecognition_enable,
            font=("arial", 15),
            bg='orange')
        self.btn_images = tkinter.Button(self.panel,
                                         width=10,
                                         height=1,
                                         text="Images",
                                         command=self.image_window,
                                         font=("arial", 15),
                                         bg='green',
                                         fg='white')

        # combobox
        self.cb = tkinter.ttk.Combobox(self.window,
                                       width=58,
                                       textvariable=self.fileName)

        # pre-process
        self.makeimageslist()

        # layout
        self.canvas.grid(column=0, row=0, sticky='w')
        self.preview_canvas.grid(column=1, row=0, sticky='e')
        self.cb.grid(column=0, row=1, sticky='ne')
        self.panel.grid(column=1, row=1, sticky='nw')

        # panel
        self.lb.grid(column=0, row=0)
        self.btn_tesseract.grid(column=0, row=1)
        self.btn_snapshot.grid(column=0, row=2)
        self.btn_send.grid(column=0, row=3)

        self.btn_charRecognition.grid(column=1, row=1)
        self.btn_images.grid(column=1, row=2, sticky='w')
        self.btn_fee.grid(column=1, row=3, sticky='w')
        self.btn_quit.grid(column=1, row=4, sticky='w')
Example #17
0
def quitFunc():
    messagebox.Message("Quit the game!")
def detail(element, name,no,mass,bl,pr,yr):
    msg = messagebox.Message(root,
                             message=f"Symbol: {element}\nAtomic Number: {no}\nElement: {name}\nAtomic Mass: {mass}\nBlock: {bl}\nProperty: {pr}\nDiscovery Year: {yr}"
    )
    msg.show()