gentoo.ru
python
python@conference.gentoo.ru
Воскресенье, 5 декабря 2010< ^ >
maksbotan установил(а) тему: Python: простой и удобный язык программирования широкого применения || https://gist.github.com/289467
Конфигурация комнаты
Участники комнаты

GMT+3
[01:26:59] maksbotan вышел(а) из комнаты
[01:49:52] krigstask вошёл(а) в комнату
[10:19:37] maksbotan вошёл(а) в комнату
[14:37:43] reonaydo вошёл(а) в комнату
[14:38:00] <reonaydo> куда лучше питонячьи файлы от проги кидать?
[14:38:30] <krigstask> М?
[14:38:30] <maksbotan> поясни
[14:39:36] <reonaydo> ну если прога более, чем из одного файла, куда девать "лишние" Прога-то потом в bin эмигрирует, а вот либы...
[14:39:55] <krigstask> Модули лежат в site-packages
[14:39:57] <maksbotan> +1
[14:40:01] <maksbotan> делаешь поцкет
[14:40:01] <reonaydo> создать диру и положить туда, а потом в /usr/lib/python2.7/site-packages ?
[14:40:06] <maksbotan> в него все файлы
[14:40:09] <maksbotan> а потом импортишь
[14:40:16] <maksbotan> посмотри как в гаджиме сделано
[14:40:20] <maksbotan> ну или как в черепахе
[14:40:31] <reonaydo> так, ясно
[14:40:38] <reonaydo> а куда девать ui файлы ?
[14:40:45] <maksbotan> /usr/share/app-name
[14:40:57] <reonaydo> и оно потом их найдёт?
[14:41:14] <maksbotan> эмм
[14:41:18] <krigstask> А ui-файлы разве сами по себе используются, а не перебираются в .py?
[14:41:22] <maksbotan> ты ему скажешь что они там лежат
[14:41:30] <maksbotan> krigstask: в гладе используются
[14:41:34] <reonaydo> там делается так:
mw = uic.loadUi('ui/mainwindow.ui')
[14:41:40] <maksbotan> ну и
[14:41:58] <maksbotan> loadUi('/usr/share/app-name/mainwindow.ui')
[14:42:27] <reonaydo> то есть при установке нужно пути переписать будет? :(
[14:42:37] <maksbotan> а ты как хотел
[14:42:39] <krigstask> Просто в большинстве прог на PyQt они перегоняются в *_ui.py
[14:42:55] <reonaydo> krigstask: знаю, интересуюсь для общего развития
[14:43:38] <maksbotan>         self.widgets = gtk.glade.XML(
            '/usr/share/pyturtle/mainwindow.glade'
            ) #Load widgets from Glade-3 file
[14:45:06] <krigstask> То glade
[14:45:41] <maksbotan> а какая разница-то
[14:46:10] maksbotan вышел(а) из комнаты
[14:46:20] maksbotan вошёл(а) в комнату
[14:47:44] maksbotan вышел(а) из комнаты
[14:48:04] maksbotan вошёл(а) в комнату
[14:51:03] <reonaydo> хы, очепятка по фрейду :)
class Mainwindos
[14:53:45] maksbotan вышел(а) из комнаты
[14:54:10] maksbotan вошёл(а) в комнату
[15:05:17] <reonaydo> О_о
попробовал накидать форму в qtdesigner и прогнал через pyuic4
[15:05:21] <reonaydo> это ужас
self.treeView.setObjectName(_fromUtf8("treeView"))
[15:05:32] <maksbotan> хаха
[15:06:12] <krigstask> И что?
[15:06:36] <reonaydo> зачем это ObjectName, зачем прогонять через _fromUtf8
[15:06:45] <maksbotan> __name__ есть, зачем ещё какие то свойства
[15:06:55] <maksbotan> krigstask: это как энтепрайзный пример с топика
[15:07:32] <krigstask> Ну это как бы PyQt
[15:07:57] <maksbotan> я думаю вполне сгодилось бы внутре его сделать
[15:08:07] <krigstask> Там во все стороны торчат плюсатости
[15:08:13] <maksbotan> def getObjectName(self):
    return self.__name__
[15:08:15] <maksbotan> и не парится
[15:08:19] <reonaydo> treeView->setObjectName(QString::fromUtf8("treeView"));
[15:08:25] <maksbotan> ну то есть, то же на влюсах
[15:08:34] <maksbotan> плюсах*
[15:08:35] <krigstask> Как сделано в Qt, так и в PyQt
[15:08:50] <maksbotan> я к тому что враппер мог бы скрывать этот ужас
[15:08:53] <reonaydo> вообщем, я понял, что designer - это не для меня >_<
[15:09:15] <maksbotan> хаха
[15:09:29] <reonaydo> лучше буду руками виджеты "рисовать", вспомню вуз и яву
[15:09:42] <krigstask> Да человеку в генерированный код вообще не надо смотреть
[15:10:38] <reonaydo> ладно бы смотреть, оно ж кучу лишних телодвижений делает - тратит время - тормозит >_<
[15:14:25] <krigstask> Добро пожаловать в мир кодогенерации
[15:17:35] reonaydo пошёл обмазываться доками по qt, чтобы обойтись без qt дезигнера >_<
[15:17:51] <maksbotan> ссзб
[15:18:10] <reonaydo> maksbotan: в чём?
[15:18:21] <maksbotan> в том что не хочешь дезигнер юзать
[15:18:25] <maksbotan> спроси дедфуда
[15:18:56] <reonaydo> для формы с 2-мя полями, без единой кнопки, он генерит ну слиииишком дофига кода
[15:19:06] <reonaydo> такое и руками сделать можно
[15:19:27] <reonaydo> в 4-5 строк вместо 70
[15:19:47] <reonaydo> если будет что-то сложное, то может дезигнером и проще будет
[15:21:23] <reonaydo> а у фуда что спрашивать, достаточно на личкрафты взглянуть. Правда, без слёз не получается -_-
[15:21:32] <reonaydo> юзабилити ниже плинтуса
[15:22:18] <reonaydo> s/юзабилити/удобство использования/ чтоб grammar nazi не обижать
[15:29:27] <reonaydo> интересно, в Qt есть что-либо для конфигов или ConfigParser юзать
[15:30:48] <krigstask> Есть
[15:31:13] <krigstask> Правда, несколько упоротое
[15:31:21] <reonaydo> тогда ну ево нафиг
[15:31:36] <reonaydo> всё равно ConfigParser встроено в питон, и значит везде есть
[15:37:32] <krigstask> Угу
[15:59:21] <reonaydo> непонятно, в сяшном коде иконка в трее делается, в питоновском нет-_-
[16:14:39] <reonaydo> мдее, это кеды 4.6 так весело с треем работают
[16:15:23] <maksbotan> мм?
[16:15:31] <maksbotan> KStatusNotifierItem же
[16:15:32] <maksbotan> все дела
[16:15:43] maksbotan тоже обмазывался PyKDE
[16:16:49] <krigstask> Фу
[16:16:56] <krigstask> Вызываете у меня отвращение
[16:18:46] <maksbotan> тьфу на тебя
[16:18:49] <maksbotan> думаешь я  сам
[16:18:51] <maksbotan> меня слеп просил
[16:18:58] <maksbotan> правда так ничего и не вышло
[16:19:40] <reonaydo> maksbotan: дык у меня-то не pykde, а просто pyqt
[16:19:45] <maksbotan> а...
[16:19:48] <maksbotan> ссзб
[16:20:00] <reonaydo> фишка в том, что с сяшной прогой работает, с питоновой нет
[16:20:14] <maksbotan> QStatusIcon чтоле?
[16:20:23] <reonaydo> на ноуте, на котором нормальные кеды(4.4) всё всегда работает, и то и то
[16:20:34] <reonaydo> QSystemTrayIcon
[16:23:08] <maksbotan> гдб тебе в руки=)
[16:23:32] <reonaydo> gdb кедодевам в ухо
[16:47:08] <krigstask> Прозревает человек
[16:47:45] <maksbotan> хаха
[17:12:36] maksbotan вышел(а) из комнаты
[17:15:37] maksbotan вошёл(а) в комнату
[17:30:47] <reonaydo> что-то этот pyqt как-то странно работает или я тупой
[17:31:00] <reonaydo> упарился уже с сигналами
[17:31:04] <maksbotan> что там у тебя
[17:31:13] <maksbotan> давай дедфуда позовем
[17:31:31] <krigstask> Что за сигналы-то?
[17:31:45] reonaydo вышел(а) из комнаты
[17:31:49] reonaydo вошёл(а) в комнату
[17:32:02] <maksbotan> ресурс поменял
[17:32:09] <reonaydo> с ноута зашёл, лёжа лучше программится
[17:32:14] <maksbotan> гыгы
[17:32:44] <reonaydo> вначале дого пытался понять, с какого перепугу кусок из примера не работал
[17:32:55] <reonaydo> с моей функцией в качеств слота
[17:33:25] <reonaydo> оказалось, собственые функции в качестве слота коннектятся без указания, что это слот (в отличии от C++)
[17:33:57] <maksbotan> в отличии от moc, ты хотел сказать
[17:34:05] <reonaydo> теперь не могу понять, почему не фуручит сигнал на тыканье иконки в трее
[17:34:21] <reonaydo> хотя в моей плюсовой проге оно работало >_<
[17:34:50] <maksbotan> реонайдо тоже плюсист?
[17:34:58] <reonaydo> нет, но баловался
[17:35:05] <maksbotan> а...
[17:35:12] <maksbotan> покаж кодик
[17:35:14] <reonaydo> читаю и перевожу
[17:35:21] <reonaydo> код чего именно?
[17:35:35] <maksbotan> питончиковый
[17:36:17] <reonaydo> http://pastebin.ca/2011167
[17:36:58] <reonaydo> вот на кнопке  bquit оно работает
[17:37:05] <reonaydo> а на иконке фиг
[17:37:23] <maksbotan> зачем геометрию ставишь
[17:37:26] <maksbotan> чай, не в винде
[17:37:40] <reonaydo> maksbotan: это временно maksbotan
[17:37:49] <reonaydo> блин, неудобно с тачпада >_<
[17:37:49] <maksbotan> я не временно!
[17:38:11] <reonaydo> это я по тачпаду попал случайно
[17:38:26] <maksbotan> блин
[17:38:35] <maksbotan> где на этом чертовом пастбине кнопка raw?
[17:38:42] <maksbotan> заливал бы на лоджеит
[17:39:08] <reonaydo> рав там ниже
[17:39:20] <maksbotan> нашел
[17:39:49] <maksbotan> QWidget: Must construct a QApplication before a QPaintDevice
[17:39:52] <maksbotan> эм
[17:40:04] <reonaydo> на плюсах оно работало
http://pastebin.ca/2011170
[17:40:15] <reonaydo> maksbotan: это только запчасть :)
[17:40:17] <maksbotan> как мне сие запускать?
[17:40:34] <reonaydo> http://pastebin.ca/2011172
[17:41:37] <reonaydo> там ещё png нужна чтобы иконку видеть :)
[17:43:36] <krigstask> Гм, я по-другому сигналы подключаю
[17:44:15] <reonaydo> krigstask: я догадываюсь как, там недавно вроде приделали новый вей
[17:44:31] <maksbotan> блин, реонайдо
[17:44:32] <krigstask> self.add_income.clicked.connect(self.add_to_list(self.incomeList))
[17:44:33] <maksbotan> не работает оно
[17:44:56] <maksbotan> а, это GC
[17:45:46] <reonaydo> maksbotan: http://reonaydo.org.ru/hg/qsnote/
[17:45:56] <maksbotan> да я догнал
[17:45:57] <reonaydo> hg clone http://reonaydo.org.ru/hg/qsnote/
[17:46:31] <maksbotan> krigstask: а вот не катит
[17:46:37] <krigstask> maksbotan: чаво?
[17:46:50] <maksbotan>         self.clicked.connect(self.changeState)
[17:46:58] <maksbotan> по аналогии с твоим
[17:47:01] <maksbotan> и фигу
[17:47:50] <reonaydo> хее, а у меня по криговскому работает
[17:48:00] <reonaydo> ||  31         mwico.activated.connect(self.changeState)                                      
[17:48:00] <krigstask> Кх-х-х
[17:48:18] <reonaydo> только я хочу юзать чисто Qt шную систему сигналов/слотов
[17:48:22] <krigstask> Какой ещё self, максботанина?
[17:48:28] <reonaydo> а не пикутешную
[17:48:31] <krigstask> А это чья, по-твоему?
[17:48:39] <maksbotan> ну я в __init__ переделал
[17:48:41] <reonaydo> это только в pyqt, емнип
[17:48:41] krigstask не ощущает разницы
[17:49:09] <maksbotan> тьфу, я придурок
[17:49:15] <maksbotan> реально
[17:49:20] <reonaydo> вдруг, на меня снизойдёт кто-либо из конторы(там на плюсах программистов куча), и я решу переписать на плюсы
[17:49:58] <krigstask> И?..
[17:50:25] <reonaydo> меньше переделывать придётся
[17:50:53] <maksbotan> глупости
[17:51:06] <krigstask> Вот оно, тлетворное влияние кед на неокрепший разум
[17:51:52] <reonaydo> вы лучше помогите понять, почему оно не работает в обычном виде
[17:52:45] <krigstask> А ты уверен, что должно?
[17:52:56] <maksbotan> с другой кнопкой то работает
[17:53:09] <reonaydo> self.connect(bquit, SIGNAL('clicked()'), self.changeState)
[17:53:17] <reonaydo> вот так работает с кнопкой
[17:53:30] <reonaydo> self.connect(mwico, SIGNAL('activated()'),  self.changeState)
[17:53:40] <reonaydo> а вот так не работает с иконкой
[17:57:03] <krigstask> Антиресное дело
[18:17:37] <reonaydo> упороться >_<
[18:17:40] <reonaydo> заработало
[18:17:47] <maksbotan> упорись
[18:17:54] <maksbotan> reonaydo: что сделал?
[18:18:02] <reonaydo>         mwicoSIGNAL='activated(QSystemTrayIcon::ActivationReason)'                            
        self.connect(mwico, SIGNAL(mwicoSIGNAL), self.changeState)
[18:18:18] <reonaydo> тип нужно сишный оставлять >_<
[18:18:31] <reonaydo> через ::
[18:18:36] <maksbotan> тьфу ты
[18:18:40] <maksbotan> во костыли
[18:18:42] <krigstask> Га-га-га
[18:18:42] <reonaydo> ужос
[18:18:58] <krigstask> Зато переписывать мало
[18:19:09] <reonaydo> krigstask: ага ^_^
[18:23:04] <reonaydo> на этом сегодняшнее обмазывание pyqt закончу и пойду пить пиво, жрат бутерброды, смотреть аниме
[18:23:20] <reonaydo> спасибо, что помогли
[18:23:27] reonaydo вышел(а) из комнаты
[18:23:29] <maksbotan> вот гад
[18:23:34] <maksbotan> без меня будет
[22:51:44] <maksbotan> хей, кригэ
[22:51:56] <maksbotan> как отсортировать список списков по ключу?
[22:52:22] <maksbotan> есть [[1,2],[15351,3],[100500,1]]
[22:52:38] <maksbotan> нужно получить [[100500,1],[1,2],[15351,3]]
[22:52:41] <maksbotan> суть ясна?
[22:53:25] <maksbotan> krigstask:
[22:53:26] <krigstask> man .sort()
[23:01:28] <maksbotan> уняня
[23:01:31] <maksbotan> спасибо криг
[23:57:43] maksbotan вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!