hallo,
möchte gern ein rundes label erstellen. soll ne grüne led symbolisieren.
habe was gehört von drawPrimitive, weiß aber nicht wie ich es im zusammenhang von label benutzen kann. oder gibt es ne möglichkeit
den punkt vom radiobutton zu benutzen und je nach event grün zu setzen oder so?
danke
Eine runde Sache :-) QLabel
Re: Eine runde Sache :-) QLabel
einfacher als das. primitiver gehts nichtMaik hat geschrieben: hallo,
möchte gern ein rundes label erstellen. soll ne grüne led symbolisieren.
danke
Öffnen Gimp oder sonst ein Bildbearbeitungsprogamm und erstell
dir ein Bild, in welcher Grösse du es haben möchtest und mach den
Hintergrund grün (natürlich musst du das Bild in runder form erstellen).
Speichern und das wars fürs erste.
Erstell im QtDesigner ein QLabel und füge dein erstelltes Bild hinzu,
natürlich währe es von Vorteil wenn du die Resourceengine vom
QtDesigner nützt. Dann schaltest du im PropertyEditor vom Designer
beim QLabel autoSize ein oder wie das heissen mag und fertig ist dein
rundes grünes Bild
du dann zum QLabel sagen, verstecke oder zeige dich.
Einfacher und schneller:
Code: Alles auswählen
class Led : public QWidget
Q_OBJECT
public:
Led(QWidget *parent) : QWidget(parent) {};
protected:
void paintEvent(QPaintEvent *)
{
QPainter p(this);
p.setBrush(QColor(0, 255, 0));
p.setPen(QColor(0, 0, 0));
p.drawEllipse(rect());
}
};danke für die antwort, seh aber keinen punkt. möchte auf ein label zeichnen. geht das oder wird der punkt wegen meinem code hinter dem label painted?
danke
#################################################################
#include "Widget_BedEl.h"
#include "Widget_DisplayFBG.h"
#include <QtGui>
Widget_DisplayFBG::Widget_DisplayFBG( QWidget *parent)
: QWidget (parent)
{
setObjectName(QString::fromUtf8("Widget_Display"));
setBaseSize(QSize(210, 140));
Display = new QLabel(this);
Display->setObjectName(QString::fromUtf8("Display"));
Display->setGeometry(QRect(0, 0, 210, 140));
Display->setPixmap(QPixmap("/home/bachmann/Icons/img/Display.bmp"));
}
void Widget_DisplayFBG::paintEvent(QPaintEvent *)
{
QPainter LED1(this);
LED1.setBrush(QColor(0,255,0));
LED1.drawEllipse(20,20,30,30);
}
#############################################################
#ifndef WIDGET_DISPLAYFBG_H
#define WIDGET_DISPLAYFBG_H
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QLabel>
#include <QtGui/QWidget>
#include <QtGui/QPushButton>
#include <QtGui/QPaintEvent>
#include <QtGui/QApplication>
class Widget_DisplayFBG : public QWidget
{
Q_OBJECT
public:
Widget_DisplayFBG(QWidget *parent = 0);
QLabel *Display;
protected:
void paintEvent(QPaintEvent *event);
};
#endif
danke
#################################################################
#include "Widget_BedEl.h"
#include "Widget_DisplayFBG.h"
#include <QtGui>
Widget_DisplayFBG::Widget_DisplayFBG( QWidget *parent)
: QWidget (parent)
{
setObjectName(QString::fromUtf8("Widget_Display"));
setBaseSize(QSize(210, 140));
Display = new QLabel(this);
Display->setObjectName(QString::fromUtf8("Display"));
Display->setGeometry(QRect(0, 0, 210, 140));
Display->setPixmap(QPixmap("/home/bachmann/Icons/img/Display.bmp"));
}
void Widget_DisplayFBG::paintEvent(QPaintEvent *)
{
QPainter LED1(this);
LED1.setBrush(QColor(0,255,0));
LED1.drawEllipse(20,20,30,30);
}
#############################################################
#ifndef WIDGET_DISPLAYFBG_H
#define WIDGET_DISPLAYFBG_H
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QLabel>
#include <QtGui/QWidget>
#include <QtGui/QPushButton>
#include <QtGui/QPaintEvent>
#include <QtGui/QApplication>
class Widget_DisplayFBG : public QWidget
{
Q_OBJECT
public:
Widget_DisplayFBG(QWidget *parent = 0);
QLabel *Display;
protected:
void paintEvent(QPaintEvent *event);
};
#endif
hi, also es klappt nicht so wie ich will. gibt aber bestimmt einen grund dafür 
wieso kann ich nicht auf ein pixmap zeichnen? hier der code. lass ich das pixmap weg gehts...
Widget_Display::Widget_Display( QWidget *parent)
: QWidget (parent)
{
setObjectName("Widget_Display");
setFixedSize(210,140);
display = new QLabel(this);
display->setObjectName("Display");
display->setGeometry(QRect(0, 0, 210, 140));
display->setPixmap(QPixmap("/home/bachmann/img/bit/display.png"));
}
void Widget_Display::paintEvent(QPaintEvent *)
{
QPainter p(this); //p(display) geht auch nicht
p.setBrush(QColor(0, 255, 0));
p.setPen(QColor(0, 0, 0));
p.drawEllipse(0,0,20,20);
}
wieso kann ich nicht auf ein pixmap zeichnen? hier der code. lass ich das pixmap weg gehts...
Widget_Display::Widget_Display( QWidget *parent)
: QWidget (parent)
{
setObjectName("Widget_Display");
setFixedSize(210,140);
display = new QLabel(this);
display->setObjectName("Display");
display->setGeometry(QRect(0, 0, 210, 140));
display->setPixmap(QPixmap("/home/bachmann/img/bit/display.png"));
}
void Widget_Display::paintEvent(QPaintEvent *)
{
QPainter p(this); //p(display) geht auch nicht
p.setBrush(QColor(0, 255, 0));
p.setPen(QColor(0, 0, 0));
p.drawEllipse(0,0,20,20);
}