Pythonのtkinterにてアプリケーションを作成中ですが、
作成途中の検討段階でWhileのループから抜け出せなくなりました。
ソースコードは下記です。
希望としては下記コードのfinish_buttonでループを止めたいです。
python
1 2import os 3import shutil 4import openpyxl as px 5import tkinter 6from tkinter import messagebox 7import numpy as np 8import cv2 9import pyautogui as pag 10import time 11 12#ユーザーフォーム画面作成 13root = tkinter.Tk()# Tkクラス生成 14root.geometry('300x60')# 画面サイズ 15root.title('PC操作画面録画App')# 画面タイトル 16val = tkinter.IntVar()#IntVarオブジェクトを作成して変数に代入 17 18#Printsc保管先フォルダ設定 19timestr=time.strftime("%Y%m%d-%H%M%S") #年月日時を取得 20img_dir_name="./formovie"+timestr #フォルダ名称の定義 21os.makedirs(img_dir_name, exist_ok=True) #画像保存用フォルダを作成 22 23#Printscのショット枚数初期値定義 24psc = 1 25 26#Printscのショットクリア定義 27psc_stop = 0 28 29#画面録画開始の関数 30def start(): 31 messagebox.showinfo('start',"画面録画開始します") 32 print("start") 33 global psc #変数pstはグローバル関数であることを宣言。 34 global psc_stop #変数pst_stopはグローバル関数であることを宣言。 35 36 while psc >= 1 : 37 38 print(psc) 39 psc = psc + 1 40 time.sleep(1) 41 if psc_stop == 1: 42 break 43 44 45 46#画面録画終了の関数 47def finish(): 48 global psc_stop #変数pstはグローバル関数であることを宣言。 49 psc_stop = 1 50 messagebox.showinfo('finish',"画面録画終了します") 51 print("finish") 52 53#開始ボタンの作成、配置、動作の登録 54start_button = tkinter.Button(root,text="START",command=start).pack() 55 56#終了ボタンの作成、配置、動作の登録 57finish_button = tkinter.Button(root,text="FINISH",command=finish).pack() 58 59tkinter.mainloop() #作成ウインドの表示と維持
回答3件
あなたの回答
tips
プレビュー