我该如何绘制矩形?
我试过两种不同的方式;
void MyWidget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
painter.setPen(Qt::black);
QRect rect = QRect(290, 20, 70, 40);
painter.drawText(rect, Qt::AlignCenter,
"Data");
painter.drawRect(rect);
}
Run Code Online (Sandbox Code Playgroud)
哪个工作正常(即使参数未命名也未使用),但我不想使用QPaintEvent*我没用它.
所以我尝试重命名我的功能;
void MyWidget::draw()
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
painter.setPen(Qt::black);
QRect rect = QRect(290, 20, 70, 40);
painter.drawText(rect, Qt::AlignCenter,
"Data");
painter.drawRect(rect);
}
Run Code Online (Sandbox Code Playgroud)
这不会显示任何内容(但没有错误).
如果我不使用QPaintEvent*,为什么它不起作用?
我目前正在 PySide 中编写一个应用程序,我希望它在退出时保存窗口尺寸。该geometry()方法返回类似PySide.QtCore.QRect(300, 300, 550, 150)但我想要的只是(300, 300, 550, 150). 我可以找到一种解析它的方法,但我想要一个更简洁的方法。有什么建议?