Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.141.152.173] |
|
Сообщ.
#1
,
|
|
|
Прямоугольная область с торможениями закрашивается красным цветом. Но вот один раз я абсолютно также сделал и прямоугольная область быстро начала зарисовыватся красным цветом.
Как будто это сбой самого Pathon-а. Решил привести полный код. Может кто увидит, где может быть ошибка и отпишется. Мой код: # -*- coding: utf-8 -*- from PyQt4 import QtCore, QtGui, uic import math import os import struct phi = 0.0 timer = QtCore.QTimer() im = QtGui.QImage(720, 492, QtGui.QImage.Format_ARGB32) class ld(QtGui.QDialog): def __init__(self, parent=None): super(ld, self).__init__(parent) self.ui = uic.loadUi("ld.ui", self) self.connect(timer, QtCore.SIGNAL("timeout()"), self.MyTimer) timer.start((0.005 * 1000) / 60) def paintEvent(self, QPaintEvent): if self.ui.radioButton.isChecked(): self.MyDraw() self.update() def MyRadianToGradus(self, phiedit): gradus = phiedit * 360 / (2 * math.pi) return gradus def MyGradusToRadian(self, phiedit): radian = phiedit * 2 * math.pi / (360) return radian def MyTimer(self): global phi global im if self.ui.checkBox.isChecked(): for j in range(0, 720, 1): for i in range(491, -1, -1): im.setPixel(j, i, QtGui.QColor(255, 0, 0, 255).rgba()) self.update() if int(self.MyRadianToGradus(phi) + 0.5) * 720 / 360 < 720: phi += self.MyGradusToRadian(6.0) else: phi = self.MyGradusToRadian(6.0) def MyDraw(self): global im global phi Tochka = QtGui.QPainter() Tochka.begin(self) Tochka.translate(50, 50) Tochka.drawImage(0, 0, im, 0, 0, int((2 * self.MyRadianToGradus(phi)) + 0.5), 492) Tochka.end() if __name__ == '__main__': import sys app = QtGui.QApplication(sys.argv) window = ld() window.show() sys.exit(app.exec_()) |