先上三张效果图,分别是原窗口、等比放大窗口和等比缩小窗口。文章来源:https://www.toymoban.com/news/detail-527076.html
实现原理,就是借用QGraphicsView的缩放功能来实现的,并且做好QGraphicsView的防锯齿设置,就能完美的适应各种不同分辨率的显示器上了。
分辨率转换原理,如果窗口需要放在大分辨率的显示器上,需要将原窗口view大小调整到大分辨率的窗口对应的大小,然后将view进行scate放大;如果窗口需要放在小分辨率的显示器上,也需要将原窗口view大小调整到小分辨率的窗口对应的大小,需要将view进行scate缩小。
代码如下:文章来源地址https://www.toymoban.com/news/detail-527076.html
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
QGraphicsView* view = new QGraphicsView;
QGraphicsScene* scene = new QGraphicsScene();
QGraphicsProxyWidget* wt = scene->addWidget(&w);
view->setStyleSheet("background:transparent");
view->
到了这里,关于QT实现窗口大小随分辨率变化而变化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!