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); }
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()); }