I need to draw several text line in a QPlainTextEdit, with different color.
I have the following class:
#include <QDialog>
namespace Ui {
class ProvaColori;
}
{
Q_OBJECT
public:
explicit ProvaColori
(QWidget *parent
= 0);
~ProvaColori();
private:
Ui::ProvaColori *ui;
public slots:
void RossoClicked(void);
void BluClicked(void);
void updateText
(int,
const QString &);
};
#include <QDialog>
namespace Ui {
class ProvaColori;
}
class ProvaColori : public QDialog
{
Q_OBJECT
public:
explicit ProvaColori(QWidget *parent = 0);
~ProvaColori();
private:
Ui::ProvaColori *ui;
public slots:
void RossoClicked(void);
void BluClicked(void);
void updateText(int, const QString &);
};
To copy to clipboard, switch view to plain text mode
#include "provacolori.h"
#include "ui_provacolori.h"
ProvaColori
::ProvaColori(QWidget *parent
) : ui(new Ui::ProvaColori)
{
ui->setupUi(this);
connect(ui->RossoBtn, SIGNAL(clicked()), this, SLOT(RossoClicked()));
connect(ui->BluBtn, SIGNAL(clicked()), this, SLOT(BluClicked()));
}
ProvaColori::~ProvaColori()
{
delete ui;
}
void ProvaColori::RossoClicked(void)
{
updateText(Qt::red, "Red text");
}
void ProvaColori::BluClicked(void)
{
updateText(Qt::blue, "Blue text");
}
void ProvaColori
::updateText(int col,
const QString &s
) {
tf = ui->plainTextEdit->currentCharFormat();
tf.
setTextOutline(QPen(col
));
ui->plainTextEdit->setCurrentCharFormat(tf);
ui->plainTextEdit->appendPlainText(s);
}
#include "provacolori.h"
#include "ui_provacolori.h"
ProvaColori::ProvaColori(QWidget *parent) :
QDialog(parent),
ui(new Ui::ProvaColori)
{
ui->setupUi(this);
connect(ui->RossoBtn, SIGNAL(clicked()), this, SLOT(RossoClicked()));
connect(ui->BluBtn, SIGNAL(clicked()), this, SLOT(BluClicked()));
}
ProvaColori::~ProvaColori()
{
delete ui;
}
void ProvaColori::RossoClicked(void)
{
updateText(Qt::red, "Red text");
}
void ProvaColori::BluClicked(void)
{
updateText(Qt::blue, "Blue text");
}
void ProvaColori::updateText(int col, const QString &s)
{
QTextCharFormat tf;
tf = ui->plainTextEdit->currentCharFormat();
tf.setTextOutline(QPen(col));
ui->plainTextEdit->setCurrentCharFormat(tf);
ui->plainTextEdit->appendPlainText(s);
}
To copy to clipboard, switch view to plain text mode
don't mind on why updateText() is a slot.
What happen is that text is drown black, but the font is changed.
Where I am wrong?
How can I change the text color?
thanks
Bookmarks