aboutdialog.h
#ifndef ABOUTDIALOG_H #define ABOUTDIALOG_H #include "IForm.h" #includenamespace Ui { class AboutDialog; } class AboutDialog : public QDialog, public IForm { Q_OBJECT public: static const char* HREF; static const char* HREF2; explicit AboutDialog(QWidget *parent = 0); ~AboutDialog(); virtual void putTexts(); virtual void setuid(); public slots: void onClickLink(); private: Ui::AboutDialog *ui; }; #endif // ABOUTDIALOG_H
aboutdialog.cpp
#include "aboutdialog.h" #include "ui_aboutdialog.h" #include#include const char* AboutDialog::HREF ="Orgía de objetos"; const char* AboutDialog::HREF2 ="Thank you for visiting us."; AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent), ui(new Ui::AboutDialog) { ui->setupUi(this); putTexts(); setuid(); } AboutDialog::~AboutDialog() { delete ui; } void AboutDialog::onClickLink() { qDebug("onClickLink"); QString str = ui->labelLink->text(); int startIndex = str.indexOf(QString("'")); int endIndex = str.indexOf(QString("'"), ++startIndex); qDebug(str.mid(startIndex, endIndex).toLocal8Bit().data()); QDesktopServices::openUrl(QUrl(str.mid(startIndex, endIndex - startIndex))); ui->labelLink->setText(HREF2); } void AboutDialog::putTexts() { ui->labelLink->setText(HREF); ui->labelLink->adjustSize(); } void AboutDialog::setuid() { connect(ui->labelLink, SIGNAL(linkActivated(QString)), this, SLOT(onClickLink())); }
Este código abre la dirección del QLabel en el explorador por defecto.
En los próximos días voy a intentar sacar tiempo para subir el código fuente.
No hay comentarios:
Publicar un comentario