PyQT
-
- Студент (1 lvl)
- Сообщения: 25
- Зарегистрирован: Пн апр 17, 2006 10:44
PyQT
Хотел спросить про PyQT, но, пока собирался, с тем вопросом разобрался самостоятельно.... Но возник другой вопрос.
Запускаю программу из консоли: python mycoolprog.py
При развороте экрана окно этой программы исчезает. Как его это самое? А если запускать при уже перевернутом (в portarit) экране - вообще не запускается, и пишет, что не может что-то куда-то коннект....
PyQT у меня отсюда: http://pyqplayer.sourceforge.net/cgi-bi ... erDownload
Запускаю программу из консоли: python mycoolprog.py
При развороте экрана окно этой программы исчезает. Как его это самое? А если запускать при уже перевернутом (в portarit) экране - вообще не запускается, и пишет, что не может что-то куда-то коннект....
PyQT у меня отсюда: http://pyqplayer.sourceforge.net/cgi-bi ... erDownload
Это не только с питоном - запуск любой гуевой программы из консоли. Видимо, бага в Qkonsole.
Я когда отлаживаю и запускаю из консоли, никогда не переключаюсь на другие приложения и не разворачиваю экран. Потом создаю ярлык для запуска проги (у меня спец. закладка для этого есть) и запускаю уже оттуда.
Я когда отлаживаю и запускаю из консоли, никогда не переключаюсь на другие приложения и не разворачиваю экран. Потом создаю ярлык для запуска проги (у меня спец. закладка для этого есть) и запускаю уже оттуда.
Zaurus SL-C860 + SD 1G + CF 512M + Bluetooth-GPRS
Cacko 1.22a
Cacko 1.22a
-
- Студент (1 lvl)
- Сообщения: 25
- Зарегистрирован: Пн апр 17, 2006 10:44
В этой версии эти диалоги отсутствуют.Vladimir the Red Sunny писал(а):Как вызвать QFileDialog? Пишет, что "global name 'QFileDialog' is not defined"....

Я использую собственный класс. См. тут: http://pyqt.wikispaces.com/FileDialog
Zaurus SL-C860 + SD 1G + CF 512M + Bluetooth-GPRS
Cacko 1.22a
Cacko 1.22a
-
- Студент (1 lvl)
- Сообщения: 25
- Зарегистрирован: Пн апр 17, 2006 10:44
Да, прочитал, что типа QFileDialog вообще выброшен из кутопии.... Странно. Но там же присутствует возможность выбора файлов, в других программах - она через чё реализуется?
Еще вопрос. Когда создаётся ярлык для запуска - надо как исполняемый файл указывать именно mycoolprogram.py? Не python mycoolprogram.py?
И питоновские файлы надо класть в какое-то специальное исполняемое место - или можно в ярлыке дать ссылку в /Documents/... ?
Еще вопрос. Когда создаётся ярлык для запуска - надо как исполняемый файл указывать именно mycoolprogram.py? Не python mycoolprogram.py?
И питоновские файлы надо класть в какое-то специальное исполняемое место - или можно в ярлыке дать ссылку в /Documents/... ?
блин, жаль, что вики до сих пор не починили... там есть ответы на ваши вопросы... 
посмотрите вот тут:
http://forum.sources.ru/index.php?s=424 ... opic=98977
исполняемый файл должен быть в /home/QtPalmtop/bin. он должен быть исполняемым, может быть симлинком на реальный файл, находящийся в другом месте.

посмотрите вот тут:
http://forum.sources.ru/index.php?s=424 ... opic=98977
исполняемый файл должен быть в /home/QtPalmtop/bin. он должен быть исполняемым, может быть симлинком на реальный файл, находящийся в другом месте.
Zaurus SL-C860 + SD 1G + CF 512M + Bluetooth-GPRS
Cacko 1.22a
Cacko 1.22a
-
- Студент (1 lvl)
- Сообщения: 25
- Зарегистрирован: Пн апр 17, 2006 10:44
я делаю так: все кладу, например, в /home/QtPalmtop/share/myprogram (там что угодно - файлы, каталоги...),
а в /home/QtPalmtop/bin создаю симлинк:
ln -s /home/QtPalmtop/share/myprogram/myprogram.py /home/QtPalmtop/bin/myprogram
а чтобы в программе получить путь не в bin, а к каталогу с настоящими файлами, использую функцию типа:
а в /home/QtPalmtop/bin создаю симлинк:
ln -s /home/QtPalmtop/share/myprogram/myprogram.py /home/QtPalmtop/bin/myprogram
а чтобы в программе получить путь не в bin, а к каталогу с настоящими файлами, использую функцию типа:
Код: Выделить всё
def getProgramPath():
'''возвращает путь к программе, независимо от того, запущена ли по симлинку или напрямую'''
import sys, os.path
pname = sys.argv[0]
if os.path.islink(pname):
pname = os.readlink(pname)
return os.path.split(pname)[0]
Zaurus SL-C860 + SD 1G + CF 512M + Bluetooth-GPRS
Cacko 1.22a
Cacko 1.22a
В шарповской (и соответственно Cacko) прошивке файловые диалоги есть в библиотеке libsl.so. Хедеры тут:Vladimir the Red Sunny писал(а):Да, прочитал, что типа QFileDialog вообще выброшен из кутопии.... Странно. Но там же присутствует возможность выбора файлов, в других программах - она через чё реализуется?
http://zaurususergroup.org/UpDownload+i ... d-27.phtml
Не знаю, можно ли это замапить нв PyQt.
А так все пишут своё, кто на что горазд
ИМХО это не так просто. Проще использовать самописный модуль (по крайней мере мне) и не заморачиваться.maslovsky писал(а):В шарповской (и соответственно Cacko) прошивке файловые диалоги есть в библиотеке libsl.so. Хедеры тут:
http://zaurususergroup.org/UpDownload+i ... d-27.phtml
Не знаю, можно ли это замапить нв PyQt.

Zaurus SL-C860 + SD 1G + CF 512M + Bluetooth-GPRS
Cacko 1.22a
Cacko 1.22a
-
- Студент (1 lvl)
- Сообщения: 25
- Зарегистрирован: Пн апр 17, 2006 10:44
-
- Студент (1 lvl)
- Сообщения: 25
- Зарегистрирован: Пн апр 17, 2006 10:44
Прога на Питоне лежит в /Documents/proga. Работает, если вызвать из консоли как python proga.py. Сделал симлинк в /home/QtPalmtop/bin - оттуда тоже запукается, если набрать python my_symlink. А как запустить ее (пока из консоли) как исполняемый файл, т. е., без "python"?
Потом я взял файл .desktop для калькулятора, скопировал, переименовал, поменял содержимое, чтобы указывало на мой симлинк. После перезагрузки появился ярлык (с иконой от калькулятора, правда, потому что я её не менял, но это пофиг), при нажатии на него появляются песочные часы секунд на пять, потом исчезают - это всё. Да, еще сделал для симлинка chmod +x (по инструкции отсюда: http://www.oesf.org/forums/lofiversion/ ... 11412.html) - ни фига не помогло.
Десктоповый файл выглядит примерно так:
#!/usr/bin/env python в первой строчке питоновских файлов есть.
Потом я взял файл .desktop для калькулятора, скопировал, переименовал, поменял содержимое, чтобы указывало на мой симлинк. После перезагрузки появился ярлык (с иконой от калькулятора, правда, потому что я её не менял, но это пофиг), при нажатии на него появляются песочные часы секунд на пять, потом исчезают - это всё. Да, еще сделал для симлинка chmod +x (по инструкции отсюда: http://www.oesf.org/forums/lofiversion/ ... 11412.html) - ни фига не помогло.
Десктоповый файл выглядит примерно так:
Код: Выделить всё
[Desktop Entry]
#Comment = My Program
CanFastload = 0
Display = 640x480/144dpi,480x640/144dpi
Exec = my_symlink
HidePrivilege = 1
Icon = Calculator
Name = MyProgram
Type = Application
-
- Студент (1 lvl)
- Сообщения: 25
- Зарегистрирован: Пн апр 17, 2006 10:44
Так же, как любой другой модальный диалог.Vladimir the Red Sunny писал(а):DMych, а как использовать Ваш файловый диалог?
Вот пример из ZMetro MapEditor (метод, вызываемый по нажатию кнопки "Open"):
Код: Выделить всё
def openMap(self):
# создаем диалог
dlg = FileDialog(self, 'OpenFile', 'Open File',
dirName='/home/zaurus/Documents/application/zmetro/',
filter='*.png|*.jpg|*.gif')
# активируем диалог и проверяем по окончании выбран ли файл?
if dlg.exec_loop() and dlg.selectedFile():
# выбранный файл возвращает selectedFile()
self.openFile(dlg.selectedFile())
Zaurus SL-C860 + SD 1G + CF 512M + Bluetooth-GPRS
Cacko 1.22a
Cacko 1.22a