Qt界面设计器中的界面预览与程序运行时界面不一样
用QtCreate創(chuàng)建的界面應(yīng)用程序,在ui文件中拖入所需的控件,并進(jìn)行布局,布局完成后在ui文件的工具->form Editor->預(yù)覽可查看當(dāng)前界面。問(wèn)題便是:通過(guò)預(yù)覽查看界面布局沒(méi)有問(wèn)題,但運(yùn)行程序時(shí)界面與預(yù)覽的界面存在偏差。
我做的例子中預(yù)覽界面如下:
程序運(yùn)行時(shí)界面如下:
解決方法如下:
如下所示:
#include "mainwindow.h"#include <QApplication>int main(int argc, char *argv[]) {if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);QApplication a(argc, argv);MainWindow w;w.show();return a.exec(); }這是由于QT對(duì)于高分辨率的屏幕存在像素上的偏差,若加上這句后運(yùn)行程序依舊存在界面上顯示的偏差。
2.嘗試在第一種方法的基礎(chǔ)上做風(fēng)格預(yù)覽:在工具->form Editor->preview in對(duì)應(yīng)的界面風(fēng)格中選擇運(yùn)行程序時(shí)所對(duì)應(yīng)的風(fēng)格進(jìn)行預(yù)覽(如下圖所示),根據(jù)預(yù)覽的情況在布局中做出細(xì)微的調(diào)整,前提是需要弄明白運(yùn)行程序時(shí)用的哪種風(fēng)格,可以三種風(fēng)格都預(yù)覽一下,根據(jù)界面的展現(xiàn)效果確定程序運(yùn)行時(shí)用的哪種風(fēng)格。我的window系統(tǒng)下對(duì)應(yīng)的是Window風(fēng)格,所以我在window風(fēng)格下預(yù)覽界面,然后在ui文件中做相應(yīng)的調(diào)整。但是windowvista風(fēng)格似乎也可以。
總結(jié)
以上是生活随笔為你收集整理的Qt界面设计器中的界面预览与程序运行时界面不一样的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: qt日志
- 下一篇: c++ raiseexception产生