Exemplo n.º 1
0
myPopup::myPopup(QWidget *parent, const QString &text, const QString &wikiLink, const QString &text2, const QString &flagFile) : QFrame(parent, Qt::FramelessWindowHint)
{
	wikipedia = wikiLink;
	QHBoxLayout *lay = new QHBoxLayout(this);
	lay -> setMargin(4);
	lay -> setSpacing(4);
	
	if (!wikiLink.isEmpty())
	{
		wiki = new QLabel(this);
		lay -> addWidget(wiki);
		wiki -> setPixmap(SmallIcon( QStringLiteral("dialog-information") ));
		wiki -> setToolTip(i18n("Wikipedia page"));
		wiki -> setAlignment(Qt::AlignCenter);
		wiki -> installEventFilter(this);
	}
	
	QWidget *vbox = new QWidget(this);
	lay -> addWidget(vbox);
	
	QVBoxLayout *vboxLayout = new QVBoxLayout(vbox);
	vboxLayout -> setMargin(0);
	vboxLayout -> setSpacing(0);
	QLabel *l = new QLabel(text, vbox);
	vboxLayout -> addWidget(l);
	
	if (!text2.isNull())
	{
		QLabel *l2 = new QLabel(text2, vbox);
		l2 -> setAlignment(Qt::AlignCenter);
		vboxLayout -> addWidget(l2);
	}
	
	if (!flagFile.isNull())
	{
		QLabel *flag = new QLabel(this);
		lay -> addWidget(flag);
		QImage flagImg(flagFile);
		flag -> setPixmap(QPixmap::fromImage(flagImg.scaled(flagImg.width() / 5, flagImg. height() / 5, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)));
		flag -> setAlignment(Qt::AlignCenter);
	}
	
	l -> setAlignment(Qt::AlignCenter);
	QFont f = l -> font();
	f.setBold(true);
	l -> setFont(f);
	
	
	setFrameStyle(QFrame::Box | QFrame::Plain);
	setLineWidth(2);
	
	setFixedSize(sizeHint());
	setAutoFillBackground(true);
}
Exemplo n.º 2
0
myPopup::myPopup(QWidget *parent, const QString &text, const QString &text2, const QString &flagFile) : QFrame(parent)
{
    QHBoxLayout *lay = new QHBoxLayout(this);
    lay -> setMargin(4);
    lay -> setSpacing(4);

    QWidget *vbox = new QWidget(this);
    lay -> addWidget(vbox);
    QVBoxLayout *vboxLayout = new QVBoxLayout(vbox);
    vboxLayout -> setMargin(0);
    vboxLayout -> setSpacing(0);
    QLabel *l = new QLabel(text, vbox);
    vboxLayout -> addWidget(l);

    if (!text2.isNull())
    {
        QLabel *l2 = new QLabel(text2, vbox);
        l2 -> setAlignment(Qt::AlignCenter);
        vboxLayout -> addWidget(l2);
    }

    if (!flagFile.isNull())
    {
        QLabel *flag = new QLabel(this);
        lay -> addWidget(flag);
        QImage flagImg(flagFile);
        flag -> setPixmap(flagImg.smoothScale(flagImg.width() / 5, flagImg. height() / 5));
        flag -> setAlignment(Qt::AlignCenter);
    }

    l -> setAlignment(Qt::AlignCenter);
    QFont f = l -> font();
    f.setBold(true);
    l -> setFont(f);


    setFrameStyle(QFrame::Box | QFrame::Plain);
    setLineWidth(2);

    setFixedSize(sizeHint());
}