void MyButton::paintEvent(QPaintEvent *e){ /*绘制按钮的形状*/ QPainter g(this); int w=width(); int h=height(); QPoint pTop(w/2,2); QPoint pBottom(w/2,h-2); QPoint pLeft(2,h/2); QPoint pRight(w-2,h/2); QColor cWhite(255,255,255); QColor cBlack( 0, 0, 0); QBrush bWhite(cWhite); QBrush bBlack(cBlack); QPen penWhite(bWhite,2); QPen penBlack(bBlack,2); /*白色*/ g.setPen(penWhite); g.drawLine(pTop,pLeft); g.drawLine(pTop,pRight); /*黑色*/ g.setPen(penBlack); g.drawLine(pBottom,pLeft); g.drawLine(pBottom,pRight); }
//Draw a single hexagon centered at (x,y). // These are screen coordinates, not board coordinates. void drawHex(float x, float y, float sideLen){ //point 1 is sideLen up from the center ofPoint pTop(x,y-sideLen); ofPoint pBot(x,y+sideLen); ofPoint pRtTop(x+0.86602540378444*sideLen,y-0.5*sideLen); ofPoint pRtBot(x+0.86602540378444*sideLen,y+0.5*sideLen); ofPoint pLtTop(x-0.86602540378444*sideLen,y-0.5*sideLen); ofPoint pLtBot(x-0.86602540378444*sideLen,y+0.5*sideLen); ofSetLineWidth(1.0); ofLine(pTop,pRtTop); ofLine(pRtTop,pRtBot); ofLine(pRtBot, pBot); ofLine(pBot,pLtBot); ofLine(pLtBot,pLtTop); ofLine(pLtTop,pTop); }