Qt Получить строку из метода C ++ и DrawText в виджете?

Я очень новичок и потерян!
У меня есть файл .cpp в моем проекте qt и мой собственный widget.cpp с рисунками! Теперь я хочу получить данные из другого файла .cpp, из класса с именем outputtext .., у которого есть метод add (name, value) и строка std!

Знай, что я хочу в моем widget.cpp импортировать эти строки! У меня есть форма, и я положил на нее кнопку «получить строку»!
Знай, что у меня есть

void Widget::on_pushButton_clicked(){
// how can i use Qpainter to deaw the text in my widget?

}

Итак, это мой класс виджетов:

#include "widget.h"#include "ui_widget.h"#include "outputtext.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
}

Widget::~Widget()
{
delete ui;
}void Widget::on_pushButton_clicked()
{

//int outputtext.add(name,value);
// i want to say get the name and value from outputtext class and draw it in the widget!}

а другой файл cpp (outputtext) в качестве метода add (name, vale) в виде строки:

unsigned int OutPutText::add( std::string name , std::string value )
{
.....
}

пожалуйста помоги!! я думаю, что это легко, но я просто не могу заставить художника работать с кнопки!

-2

Решение

задача решена:
чтобы получить текст и рисунок в виджете из on_pushButton_clicked, мне пришлось использовать QPixmap и QGraphicsscene, чтобы у меня была сцена для Paiter, и чтобы показать рисунок на виджете, я установил размер для Pixmap, а также размер моего виджета и сделать растровое изображение прозрачным … тогда я должен использовать QGraphicsviewer, чтобы сцена отображалась на виджете, как показано ниже!

Спасибо, в любом случае…

void Widget::on_pushButton_clicked()
{QPixmap *pixmap = new QPixmap(this->size());
pixmap->fill(Qt::transparent);
QGraphicsScene *scene = new QGraphicsScene(this);
scene->addPixmap(*pixmap);
QPainter painter(pixmap);

painter.begin(pixmap);
painter.drawPixmap(QPoint(0,0), *pixmap);
painter.drawText(x,y,"my string");

painter.end();

QGraphicsView *view = new QGraphicsView(scene, this);
scene->addPixmap(*pixmap);
view->setStyleSheet("background: transparent");
view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
view->show();
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]