Мое полное приложение работает нормально из PyCharm, но не при вызове через PowerShell или командную строку Windows по умолчанию.
Вот минимальный пример. В этом случае он даже не запускается из PyCharm. Диалоговое окно файла открывается, зависает, а затем аварийно завершает работу всей программы.
Я использую PyQt5==5.15.11 и нажимаю ==8.3.1
Код: Выделить всё
import os
import sys
import click
from PyQt5.QtWidgets import QApplication, QFileDialog
@click.command()
@click.option('-s', '--start-path', type=click.Path(exists=True), default=os.getcwd())
def select_files(
start_path: str
) -> None:
_ = QApplication.instance() or QApplication(sys.argv)
files, _ = QFileDialog.getOpenFileNames(
None,
'Select files',
start_path,
'.csv, .cfg (*.csv *.cfg)'
)
print(files)
@click.group()
@click.pass_context
def cli(ctx: click.Context) -> None:
ctx.max_content_width = 100
cli.add_command(select_files, name='select')
if __name__ == '__main__':
cli()
Уже пробовал QFileDialog.DontUseNativeDialog и даже пользовательскую потоковую обработку, но безуспешно.
РЕДАКТИРОВАТЬ: было бы неплохо полностью отказаться от PyQt и заменить его чем-то другим, например tkinter или что-то в этом роде.>
Подробнее здесь: https://stackoverflow.com/questions/798 ... -click-cli
Мобильная версия