给一些QPainter画线画表格写字等等的代码
如题要一些代码 本人很菜
[解决办法]
painter.drawText(ff2, Qt::AlignCenter, "基础倾斜试验");
QRectF ff3(385, 115, 360, 18);
painter.drawText(ff3, Qt::AlignCenter, "舌下含服硝酸甘油0.25mg");
QRectF ff4(25, 133, 110, 16);
painter.setFont(QFont("", 12));
painter.drawText(ff4, Qt::AlignHCenter
[解决办法]
Qt::AlignBottom, "时间");
QRectF ff5(135, 133, 65, 16);
painter.drawText(ff5, Qt::AlignHCenter
[解决办法]
Qt::AlignBottom, "血压");
QRectF ff6(200, 133, 60, 16);
painter.drawText(ff6, Qt::AlignHCenter
[解决办法]
Qt::AlignBottom, "心率");
QRectF ff7(260, 133, 125, 16);
painter.drawText(ff7, Qt::AlignHCenter
[解决办法]
Qt::AlignBottom, "症状");
QRectF ff8(385, 133, 90, 16);
painter.drawText(ff8, Qt::AlignHCenter
[解决办法]
Qt::AlignBottom, "用药后时间");
QRectF ff9(475, 133, 70, 16);
painter.drawText(ff9, Qt::AlignHCenter
[解决办法]
Qt::AlignBottom, "血压");
QRectF ff10(545, 133, 65, 16);
painter.drawText(ff10, Qt::AlignHCenter
[解决办法]
Qt::AlignBottom, "心率");
QRectF ff11(610, 133, 135, 16);
painter.drawText(ff11, Qt::AlignHCenter
[解决办法]
Qt::AlignBottom, "症状");
painter.setFont(QFont("", 10));
QRectF ff12(25, 149, 110, 14);
painter.drawText(ff12, Qt::AlignLeft
[解决办法]
Qt::AlignVCenter
[解决办法]
Qt::AlignBottom, "平卧 倾斜");
QRectF rect[60];
// sum = 0;
int n=0;
QString str;
for(int i=0; i<60; i++){
n = n+1;
sum = sum+y_addvalue;
rect[i].setRect(25,149+sum, 110, 14);
QString str = QString("%1").arg(n);
painter.drawText(rect[i], Qt::AlignCenter, str);
}
QRectF bigff1(25, 1003, 720, 19);
painter.setFont(QFont("", 13));
painter.drawText(bigff1, Qt::AlignCenter, "诊断依据");
QRectF bigff2(25, 1022, 720, 19);
painter.drawText(bigff2, Qt::AlignLeft
[解决办法]
Qt::AlignVCenter, "注:血压单位:mmHg 心率单位:次/分 时间单位:分: 结论:HUT 性( )");
QRectF bigff3(25, 1041, 720, 19);
painter.drawText(bigff3, Qt::AlignRight
[解决办法]
Qt::AlignVCenter,"医师: 日期: ");\
add_HeadData(&painter);
add_TailData(&painter);
AddData(&painter);
}
void print::add_HeadData(QPainter *painter)
{
painter->setFont(QFont("",16));
painter->setPen(Qt::blue);
painter->drawText(80,75,hInfo.name);
painter->drawText(225,75,hInfo.sex);
painter->drawText(370,75,hInfo.age);
painter->drawText(515,75,hInfo.height);
painter->drawText(660,75,hInfo.weight);
painter->setFont(QFont("",15));
painter->drawText(115,105,hInfo.ID_num);
painter->drawText(362,105,hInfo.patient_num);
}
void print::add_TailData(QPainter *painter)
{
painter->drawText(580,105,tInfo.Cli_diag);
painter->setFont(QFont("",13));
painter->drawText(690, 1039, tInfo.Result);
painter->drawText(550, 1058, tInfo.Doctor);
painter->drawText(655, 1058, tInfo.Date_time);
}
void print::AddData(QPainter *painter)
{
int add=14;
QRectF rect_Heart[60];
QRectF rect_Blood[60];
sum = 0;
int Heart, Blood;
QString str;
painter->setPen(Qt::black);
painter->setFont(QFont("",10));
for(int i=0; i<60; i++){
Heart=180; // 调用外部心率数据
sum = sum+add;
rect_Heart[i].setRect(200,149+sum, 60, 14);
QString str_Heart = QString("%1").arg(Heart);
painter->drawText(rect_Heart[i], Qt::AlignCenter, str_Heart);
Blood=80;// 调用外部血压数据
rect_Blood[i].setRect(135,149+sum, 65, 14);
QString str_Blood = QString("%1").arg(Blood);
painter->drawText(rect_Blood[i], Qt::AlignCenter, str_Blood);
}
}
[解决办法]
#include "mywidget.h"
void MyWidget::paintEvent(QPaintEvent *event)
{
//create a QPainter and pass a pointer to the device.
//A paint device can be a QWidget, a QPixmap or a QImage
QPainter painter(this);
//a simple line
painter.drawLine(1,1,100,100);
//create a black pen that has solid line
//and the width is 2.
QPen myPen(Qt::black, 2, Qt::SolidLine);
painter.setPen(myPen);
painter.drawLine(100,100,100,1);
//draw a point
myPen.setColor(Qt::red);
painter.drawPoint(110,110);
//draw a polygon
QPolygon polygon;
polygon << QPoint(130, 140) << QPoint(180, 170)
<< QPoint(180, 140) << QPoint(220, 110)
<< QPoint(140, 100);
painter.drawPolygon(polygon);
//draw an ellipse
//The setRenderHint() call enables antialiasing, telling QPainter to use different
//color intensities on the edges to reduce the visual distortion that normally
//occurs when the edges of a shape are converted into pixels
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(QPen(Qt::black, 3, Qt::DashDotLine, Qt::RoundCap));
painter.setBrush(QBrush(Qt::green, Qt::SolidPattern));
painter.drawEllipse(200, 80, 400, 240);
}