我正在画线。
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
QPainter painter(&w);
painter.setPen(QPen(Qt::black, 12, Qt::DashDotLine, Qt::RoundCap));
painter.drawLine(0, 0, 200, 200);
return a.exec();
}
但是窗户上什么也没有画。怎么了?
paintEvent()
至少在Windows和Mac OS上,不能在功能之外进行绘制。但是,您可以覆盖MainWindow
类的paintEvent()
功能以在此处绘制线条。例如:
class Widget : public QWidget
{
protected:
void paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.setPen(QPen(Qt::black, 12, Qt::DashDotLine, Qt::RoundCap));
painter.drawLine(0, 0, 200, 200);
}
};
以及用法:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Widget w;
w.show();
[..]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句