新生成一个QtCreator之后,只需要在privated中声明全局变量,就可以在任意函数中定义,并且使用!
声明:
protected:
void paintEvent(QPaintEvent *);
void drawSolidLine(QPainter *painter);
void drawDottedLine(QPainter *painter);
private:
Ui::Widget *ui;
int width1;//声明全局变量
int height1;
定义:
void Widget::paintEvent(QPaintEvent *)
{
width1 = this->width();//定义全局变量
height1 = this->height();
int side = qMin(width1,height1);
QPainter painter(this);
painter.setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing);
painter.translate(width1/2,height1/2);
painter.scale(side/200.0,side/200.0);
drawSolidLine(&painter);
drawDottedLine(&painter);
}
void Widget::drawSolidLine(QPainter *painter)
{
painter->save();
painter->setPen(Qt::black);
painter->drawLine(width1,height1,-width1,-height1);
painter->restore();
}
void Widget::drawDottedLine(QPainter *painter)
{
painter->save();
painter->restore();
}
发现并没有报错,如下:
此时我们发现,
定义的全局变量,可以在其他函数中调用!