2009-08-06 5 views
0

У меня есть базовый браузер файлов PyQt QFileDialog goin в Python, Kubuntu.Qt Поле ввода QFileDialog - вкладка завершена, как оболочка

Моя проблема заключается в том, что я хотел бы, чтобы «вкладка» в вводе файла выполнялась как табуляция в оболочке.

Есть ли способ сделать это?

ответ

0

Вам придется подклассифицировать QFileDialog и изменить поведение. Это, вероятно, будет нелегко.

1

С точки зрения UI/UX вы уверены, что это то, что вы хотите? В вкладках форм и диалогов традиционно подразумевалось переход к следующему полю. Возможно, вы сбиваете с толку пользователя. Или вы можете начать революцию в пользовательском опыте для форм :-)

Просто интересно, если это то, что вы действительно хотите?

+0

Да, это то, что я хочу;) этот конкретный пользовательский интерфейс, заменяющий JUST, является полем ввода пути стиля unix. отсутствие типичного поведения вкладок для пользовательского интерфейса здесь не является проблемой. то, что я действительно хочу для моего скрипта, - это возможность запрашивать доступные пути с использованием введенного текста, и если пользователь нажимает на вкладку - она ​​завершается для них, если есть только один параметр. – crackerbunny

0

Я не использовал PyQt, но я думаю, что класс QCompleter может быть большая часть пути к тому, что вы хотите:

http://doc.trolltech.com/4.5/tools-completer.html

Я не знаю, если это вкладка завершает или если это то, что вам нужно будет добавить.

0

Я не уверен, что вы действительно можете, я не вижу никакого доступа к полю ввода в документации QFileDialog. Qt довольно агрессивен, скрывая детали реализации от своих пользователей. Возможно, вы сможете сделать это, выполнив реализацию QFileDialog (C++) и изменив его для своей цели.

+0

Если вы берете это решение, остерегайтесь проблем с лицензированием. Во всяком случае, я считаю, что вам нужно сделать это или перевернуть свой собственный диалог с файлом. –