先熟悉一下界面的绘制,下一步对node类进行细化。
效果图:
main.cpp
C++语言: Codee#2606101#include
02#include
03#include "widget.h"
04
05intmain(intargc,charargv[])
06{
07QApplicationapp(argc,argv);
08
09MyWidgettest=newMyWidget;
10QRectfrect=test->frameGeometry();
11frect.moveCenter(QDesktopWidget().availableGeometry().center());
12test->move(frect.topLeft());
13test->show();
14
15QMessageBox::warning(test,QObject::tr("drawtest"),
16QString::number(test->x())+
17","+
18QString::number(test->y()));
19
20returnapp.exec();
21}
widgit.h
C++语言: Codee#2606201#ifndef MY_WIDGET
02#define MY_WIDGET
03#include
04#include
05
06classMyWidget:publicQWidget
07{
08public:
09MyWidget(QWidgetparent=0);
10voidpaintEvent(QPaintEventevent);
11};
12
13#endif
widget.cpp:
C++语言: Codee#2606301#include "widget.h"
02
03MyWidget::MyWidget(QWidgetparent)
04:QWidget(parent)
05{
06setAttribute(Qt::WA_StaticContents);
07setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum);
08this->resize(910,700);
09}
10
11voidMyWidget::paintEvent(QPaintEventevent)
12{
13QPainterpainter(this);
14
15painter.setPen(QPen(Qt::black));
16painter.setFont(QFont("Arial",30));
17painter.drawText(rect(),Qt::AlignCenter,"Hello Qt!");
18
19for(inti=0;i<910;i+=35)
20painter.drawLine(i,0,
21i,700);
22for(intj=0;j<=700;j+=35)
23painter.drawLine(0,j,
24910,j);
25}原文链接: https://www.cnblogs.com/invisible/archive/2012/04/15/2448323.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/47512
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!