Browse Source

Add ledbutton.py and bitmaps; fix qWarning usage

tags/v0.9.0
falkTX 13 years ago
parent
commit
cf566c824f
12 changed files with 105 additions and 3 deletions
  1. +1
    -1
      src/digitalpeakmeter.py
  2. BIN
      src/icons/bitmaps/led-big_off.png
  3. BIN
      src/icons/bitmaps/led-big_on.png
  4. BIN
      src/icons/bitmaps/led_blue.png
  5. BIN
      src/icons/bitmaps/led_green.png
  6. BIN
      src/icons/bitmaps/led_off.png
  7. BIN
      src/icons/bitmaps/led_red.png
  8. BIN
      src/icons/bitmaps/led_yellow.png
  9. +7
    -0
      src/icons/icons.qrc
  10. +94
    -0
      src/ledbutton.py
  11. +1
    -0
      src/pixmapdial.py
  12. +2
    -2
      src/pixmapkeyboard.py

+ 1
- 1
src/digitalpeakmeter.py View File

@@ -48,7 +48,7 @@ class DigitalPeakMeter(QWidget):

def displayMeter(self, meter_n, level):
if (meter_n < 0 or meter_n > self.m_channels):
qCritical("DigitalPeakMeter::displayMeter(%i, %f) - Invalid meter number", meter_n, level)
qCritical("DigitalPeakMeter::displayMeter(%i, %f) - Invalid meter number" % (meter_n, level))
return

if (level < 0.0):


BIN
src/icons/bitmaps/led-big_off.png View File

Before After
Width: 64  |  Height: 64  |  Size: 5.2KB

BIN
src/icons/bitmaps/led-big_on.png View File

Before After
Width: 64  |  Height: 64  |  Size: 5.7KB

BIN
src/icons/bitmaps/led_blue.png View File

Before After
Width: 14  |  Height: 14  |  Size: 735B

BIN
src/icons/bitmaps/led_green.png View File

Before After
Width: 14  |  Height: 14  |  Size: 751B

BIN
src/icons/bitmaps/led_off.png View File

Before After
Width: 14  |  Height: 14  |  Size: 751B

BIN
src/icons/bitmaps/led_red.png View File

Before After
Width: 14  |  Height: 14  |  Size: 747B

BIN
src/icons/bitmaps/led_yellow.png View File

Before After
Width: 14  |  Height: 14  |  Size: 744B

+ 7
- 0
src/icons/icons.qrc View File

@@ -20,5 +20,12 @@
<file>bitmaps/kbd_h_orange.png</file>
<file>bitmaps/kbd_v_classic.png</file>
<file>bitmaps/kbd_v_orange.png</file>
<file>bitmaps/led_off.png</file>
<file>bitmaps/led_blue.png</file>
<file>bitmaps/led_green.png</file>
<file>bitmaps/led_red.png</file>
<file>bitmaps/led_yellow.png</file>
<file>bitmaps/led-big_on.png</file>
<file>bitmaps/led-big_off.png</file>
</qresource>
</RCC>

+ 94
- 0
src/ledbutton.py View File

@@ -0,0 +1,94 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# Pixmap Button, a custom Qt4 widget
# Copyright (C) 2012 Filipe Coelho <falktx@gmail.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# For a full copy of the GNU General Public License see the COPYING file

# Imports (Global)
from PyQt4.QtCore import qCritical, QRectF
from PyQt4.QtGui import QPainter, QPixmap, QPushButton

# Imports (Custom Stuff)
import icons_rc

# Widget Class
class LEDButton(QPushButton):

BLUE = 1
GREEN = 2
RED = 3
YELLOW = 4
BIG_RED = 5

def __init__(self, parent):
QPushButton.__init__(self, parent)

self.m_pixmap = QPixmap()
self.m_pixmap_rect = QRectF(0, 0, 0, 0)

self.setCheckable(True)
self.setText("")

self.setColor(self.BLUE)

from PyQt4.QtCore import QTimer
QTimer.singleShot(3000, self.close)

def setColor(self, color):
self.m_color = color

if (color in (self.BLUE, self.GREEN, self.RED, self.YELLOW)):
size = 14
elif (color == self.BIG_RED):
size = 64
else:
qCritical("LEDButton::setColor(%i) - Invalid color" % (color))
return

self.setPixmapSize(size)

def setPixmapSize(self, size):
self.m_pixmap_rect = QRectF(0, 0, size, size)

self.setMinimumWidth(size)
self.setMaximumWidth(size)
self.setMinimumHeight(size)
self.setMaximumHeight(size)

def paintEvent(self, event):
painter = QPainter(self)

if (self.isChecked()):
if (self.m_color == self.BLUE):
self.m_pixmap.load(":/bitmaps/led_blue.png")
elif (self.m_color == self.GREEN):
self.m_pixmap.load(":/bitmaps/led_green.png")
elif (self.m_color == self.RED):
self.m_pixmap.load(":/bitmaps/led_red.png")
elif (self.m_color == self.YELLOW):
self.m_pixmap.load(":/bitmaps/led_yellow.png")
elif (self.m_color == self.BIG_RED):
self.m_pixmap.load(":/bitmaps/led-big_on.png")
else:
return
else:
if (self.m_color in (self.BLUE, self.GREEN, self.RED, self.YELLOW)):
self.m_pixmap.load(":/bitmaps/led_off.png")
elif (self.m_color == self.BIG_RED):
self.m_pixmap.load(":/bitmaps/led-big_off.png")
else:
return

painter.drawPixmap(self.m_pixmap_rect, self.m_pixmap, self.m_pixmap_rect)

+ 1
- 0
src/pixmapdial.py View File

@@ -25,6 +25,7 @@ import icons_rc

# Widget Class
class PixmapDial(QDial):

HORIZONTAL = 0
VERTICAL = 1



+ 2
- 2
src/pixmapkeyboard.py View File

@@ -142,7 +142,7 @@ class PixmapKeyboard(QWidget):
elif (color == self.COLOR_ORANGE):
self.m_colorStr = "orange"
else:
qCritical("PixmapKeyboard::setMode(%i, %i) - Invalid keyboard color", mode, color)
qCritical("PixmapKeyboard::setMode(%i, %i) - Invalid keyboard color" % (mode, color))
self.setMode(mode)
return

@@ -159,7 +159,7 @@ class PixmapKeyboard(QWidget):
self.p_width = self.m_pixmap.width()/2
self.p_height = self.m_pixmap.height()
else:
qCritical("PixmapKeyboard::setMode(%i, %i) - Invalid keyboard mode", mode, color)
qCritical("PixmapKeyboard::setMode(%i, %i) - Invalid keyboard mode" % (mode, color))
self.setMode(self.HORIZONTAL)
return



Loading…
Cancel
Save