Страницы

Поиск по вопросам

понедельник, 18 февраля 2019 г.

Как вывести текст в любую часть экрана?

Необходимо вывести текст в координаты x, y на дисплей,. Не в само окошко программы, а на desktop, любое другое окно других программ по заданным координатам x, y. Использую Qt, пробовал так, но ничего не вышло:
QPainter painter(); painter.setFont(QFont("Times", 25, QFont::Normal)); painter.drawText(0,0, "Draw text ");


Ответ

Я бы вывел с помощью QLabel с прозрачным фоном, навскидку:
QLabel *label = new QLabel(); label->setWindowFlag(Qt::SplashScreen); //убираем рамки label->setAttribute(Qt::WA_TranslucentBackground); //setStyleSheet c помощью него задаем размеры, цвет текста label->setStyleSheet("QLabel { background-color : red; color : blue; font-size:36px}"); QString text = "I am textaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; label->setText(text); //А тут мой минихак с заданием width и height под размер текста label->adjustSize(); int w = label->width(); int h = label->height(); //0, 0 - координаты куда будем текст помещать label->setGeometry(0, 0, w, h); label->adjustSize(); label->show();
Положение задаем с помощью setGeometry, размеры я задал от фонаря, а потом с помощью adjustSize подогнал их под контент

Комментариев нет:

Отправить комментарий