我想在我的tkinter框架的后台运行一个方法,该方法将不断检查特定文件夹中是否存在某些文件。只要这些文件不存在,就会有一个红色tk.label
表示" Incomplete",一旦检测到这些特定文件,tk.label
将变为绿色并说出"完整"
问题是我的方法只在框架初始化时运行,一旦程序打开就会运行。如果在程序打开后添加或删除这些文件,则该方法无法实现,tk.label
不会更改。
在后台运行常量检查程序的最佳方法是什么?优选仅在框架打开时运行的一个。它只是一个无休止的while
循环吗?
答案 0 :(得分:1)
定义一个可以执行任何操作的函数,并将该函数安排在将来再次运行。它将一直运行直到程序退出。
此示例假定一个名为 $export_file = 'export.pdf';
$import_file = './media/migration/import.xlsx';
$sheet_name = 'Menu_A';
$rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF;
$rendererLibraryPath = '/var/www/public/vendor/mpdf/mpdf';
$object = PHPExcel_IOFactory::load($import_file);
$object->setActiveSheetIndexByName($sheet_name);
PHPExcel_Settings::setPdfRenderer($rendererName, $rendererLibraryPath);
$objWriter = PHPExcel_IOFactory::createWriter($object, 'PDF');
header('Content-Type: application/pdf');
header('Content-Disposition: attachment;filename="' . $export_file . '"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
的全局变量引用根窗口,但任何窗口小部件引用都可以。
root
调用一次启动它,然后它将永远运行
def do_something():
<your code here>
root.after(3000, do_something)