Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Python + Qt4  (Прочитано 8064 раз)

0 Пользователей и 1 Гость просматривают эту тему.

burgua

  • Автор темы
  • Гость
Python + Qt4
« : 30 Октября 2008, 21:55:42 »
Люди! Где можно скачать толковую документацию, желательно одним файлом или пакетом.
Не охота качать кучу страниц с оф. сайта. Есть же какой-то более компактный и упорядоченный вариант?

Оффлайн SeaJey

  • Активист
  • *
  • Сообщений: 770
  • Electronic Knight
    • Просмотр профиля
Re: Python + Qt4
« Ответ #1 : 01 Ноября 2008, 01:22:08 »
Видел книжки PyQt4 - но на буржуйском.
Поищи в торрентах, если интересно.

Оффлайн BASSON XVI

  • Участник
  • *
  • Сообщений: 132
  • Samsnug R518
    • Просмотр профиля
    • CMS S.S.Engine - бесплатный движок для твоего сайта!
Re: Python + Qt4
« Ответ #2 : 11 Ноября 2008, 13:52:33 »
burgua Что ни будь нашол? А то слез с винды окончательно теперь нужно написать программку. А за что хвататься и про что читать не знаю. А python понравился да и знаком уже с ним немного а вот с qt 0 вообще. :) Если есть какие ни будь книжки или статьи в эту сторону кинь если не трудно на мыло оно в профиле или сюда. 
Буду очь благодарен!

burgua

  • Автор темы
  • Гость
Re: Python + Qt4
« Ответ #3 : 11 Ноября 2008, 13:55:33 »
zetcode.com рулит
но это обзор неплохой, а так, выкручиваюсь как могу.

Оффлайн SeaJey

  • Активист
  • *
  • Сообщений: 770
  • Electronic Knight
    • Просмотр профиля
« Последнее редактирование: 11 Ноября 2008, 14:07:14 от SeaJey »

Оффлайн BASSON XVI

  • Участник
  • *
  • Сообщений: 132
  • Samsnug R518
    • Просмотр профиля
    • CMS S.S.Engine - бесплатный движок для твоего сайта!
Re: Python + Qt4
« Ответ #5 : 11 Ноября 2008, 14:36:17 »
Что меня убивает так это хелпы книги на англиском. Я с ним вообще не дружу... Да и вообще я тупой юзер который писал то на дельфях и пхп. И то на дельфях без понимаю того что делаю кидал кнопки, кидал компоненты и писал :( .. А тут сложность.. Щас PyQt установлю буду мудрить. Кстати а Qt designer для пайтона есть? 
SeaJey спасибо тебе большое!
П.С. Может есть ещё пару статей по работе с pyqt на русском?  И кстати как это дело будет дружить с вендой? Так как часть аудитории если я напишу прожку будет именно под окошками :)

burgua

  • Автор темы
  • Гость

Оффлайн nextlife

  • Активист
  • *
  • Сообщений: 444
    • Просмотр профиля
Re: Python + Qt4
« Ответ #7 : 11 Ноября 2008, 21:48:58 »
Блин в linux, оказалось так легко сделать программку :)
Kool Desktop Environment (KDE)

Оффлайн blindvic

  • Участник
  • *
  • Сообщений: 179
    • Просмотр профиля
Re: Python + Qt4
« Ответ #8 : 01 Марта 2009, 00:30:47 »
Сбацал графическую программку. Легко использовать кутэ!
Ваши впечатления?
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Lissajou.py

import sys
from PyQt4 import QtGui, QtCore
import math
import random


class Liss ( QtGui.QWidget ) :
    def __init__ ( self, parent = None ) :
        QtGui.QWidget.__init__ ( self, parent )

        self.resize ( 500, 500 )
        self.setWindowTitle ( 'Lissajou' )

self.timer = QtCore.QTimer ()
QtCore.QObject.connect ( self.timer, QtCore.SIGNAL("timeout()"), self.NextStep )

self.resetParams ()

        self.painter = QtGui.QPainter ()

self.pen1 = QtGui.QPen ( QtGui.QColor ( "yellow" ), 2, QtCore.Qt.SolidLine )
self.pen2 = QtGui.QPen ( QtGui.QColor ( "white" ), 2, QtCore.Qt.SolidLine )

self.timer.start ( 40 )

    def resetParams ( self ) : # default values
        self.M = random.randint ( 10, 10000 )
        self.L = random.randint ( 10, 10000 )
        self.N = random.randint ( 5, 40 ) # number of line strokes
        self.B = 2 * math.pi / self.N # intermediar coeficient
        self.step = 0 # current step
        self.SPT = 100 # spt - steps per transition from one figure to another
        self.d = 0 # current delta which depends on frame, intermediar coeficient representing current step
        self.pause = 0 # number of steps to wait when a transition is over
        self.step_direction = 1

    def NextStep ( self ) : # increase step and calculate coeficients for it
        if self.pause > 0:
            self.pause -= 1
            return
        self.step += self.step_direction
        if self.step > self.SPT or self.step < 0:
            self.step = ( self.step + self.SPT ) % self.SPT
            self.M += self.step_direction
            self.L += self.step_direction
            self.pause = 20
        self.d = 0.5 * ( 1 - math.cos ( math.pi * self.step / self.SPT ) ) # angular step
        self.l = ( self.L + self.d ) * self.B
        self.m = ( self.M + self.d ) * self.B
self.update ()

    def paintEvent ( self, event ) :
if self.pixmap is None : return
        self.pixmap.fill ( QtGui.QColor ( "black" ) )

        self.painter.begin ( self.pixmap )
self.painter.setRenderHint ( self.painter.Antialiasing )

        w2 = self.w / 2 #center
        h2 = self.h / 2
        x1 = round ( w2 )
        y1 = self.h
       
        for k in range ( 1, self.N + 1 ):
            x2 = round ( w2 * ( math.sin ( k * self.m ) + 1 ) )
            y2 = round ( h2 * ( math.cos ( k * self.l ) + 1 ) )
    self.painter.setPen ( self.pen1 if k % 2 else self.pen2 )
    self.painter.drawLine ( x1, y1, x2, y2 )
            x1, y1 = x2, y2

        self.painter.end ()

        self.painter.begin ( self )
self.painter.drawPixmap ( 0, 0, self.pixmap )
        self.painter.end ()

    def resizeEvent (self, event ) :
        self.h = self.height ()
        self.w = self.width ()
self.pixmap = QtGui.QPixmap ( self.w, self.h )

    def keyPressEvent (self, event ) :
        if event.key () == QtCore.Qt.Key_Escape : self.close ()
        if event.key () == QtCore.Qt.Key_Space : self.resetParams ()

app = QtGui.QApplication ( sys.argv )
dt = Liss ()
dt.show ()
app.exec_ ()
ЗЫ очень читабельный язык питон
ЗЗЫ нажимайте пробел для новых  фигур
« Последнее редактирование: 01 Марта 2009, 09:31:05 от blindvic »

Оффлайн 6uest

  • Активист
  • *
  • Сообщений: 302
    • Просмотр профиля
Re: Python + Qt4
« Ответ #9 : 01 Марта 2009, 01:26:43 »
Ваши впечатления?
Офигенско :D

Оффлайн Tonal

  • Любитель
  • *
  • Сообщений: 82
  • Карма Кагью
    • Просмотр профиля
Re: Python + Qt4
« Ответ #10 : 01 Марта 2009, 09:18:51 »
Вот русскоязычные форумы по Qt:
http://prog.org.ru/forum/index.php?action=forum
http://www.forum.crossplatform.ru/index.php?

Биндинг python + Qt сделан очень качественно.
Так что практически всё, что есть в С++ Qt есть и в PyQt, причём часто даже удобнее. :)

Оффлайн blindvic

  • Участник
  • *
  • Сообщений: 179
    • Просмотр профиля
Re: Python + Qt4
« Ответ #11 : 01 Марта 2009, 09:24:39 »
Биндинг python + Qt сделан очень качественно.
Так что практически всё, что есть в С++ Qt есть и в PyQt, причём часто даже удобнее. :)
Я тоже об этом думал. Взять к примеру привязку станадртных событий к слотам: благодаря тому, что язык динамический - не надо ничего для этого писать. Нажата клавижа на виджете - ищет в виджете процедуру обработки по имени.

ЗЫ написал эту программку 15 лет назад в 8 классе на Бейсике. С тех пор регулярно переписываю ее на новые языки и платформы - люблю графику.
« Последнее редактирование: 01 Марта 2009, 09:27:23 от blindvic »

Оффлайн blindvic

  • Участник
  • *
  • Сообщений: 179
    • Просмотр профиля
Re: Python + Qt4
« Ответ #12 : 01 Марта 2009, 09:33:05 »
Офигенско :D
Там была закомментированна строчка которая включает антиалиасинг. С антиалиасингом красивее.

ЗЫ кстати, что с антиалиасингом, что без него, притормаживает на весь экран. Можно ли как-нить оптимизировать?

Оффлайн naviero

  • Активист
  • *
  • Сообщений: 685
    • Просмотр профиля
Re: Python + Qt4
« Ответ #13 : 01 Марта 2009, 10:31:26 »
Переписать на ассемблере. ;D
Prefiero morir a pie, que vivir siempre arrodillado.
Ernesto Che Guevara

burgua

  • Автор темы
  • Гость

 

Страница сгенерирована за 0.094 секунд. Запросов: 25.