-
简介
QT是一个跨平台的UI工具,主要用C++开发,速度快。
依赖库libpng
-
移植
QT源码下载1
QT源码下载2
configure 配置内容可参考链接
tar xzf qt-everywhere-opensource-src-5.7.0.tar.gz
cd qt-everywhere-opensource-src-5.7.0
QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS += -O2 -march=armv7-a -mtune=cortex-a7
QMAKE_CXXFLAGS += -O2 -march=armv7-a -mtune=cortex-a7
QMAKE_CC = arm-linux-gnueabihf-gcc -lts
QMAKE_CXX = arm-linux-gnueabihf-g++ -lts
QMAKE_LINK = arm-linux-gnueabihf-g++ -lts
QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++ -lts
QMAKE_AR = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
QMAKE_NM = arm-linux-gnueabihf-nm -P
QMAKE_STRIP = arm-linux-gnueabihf-strip
mkdir out_dir
./configure -prefix $(pwd)/out_dir -xplatform linux-arm-gnueabi-g++ -opensource \
-shared -no-opengl -tslib -nomake examples -no-dbus -no-openssl -skip qtdeclarative \
-I /home/hqmo/workspace/share/itopimx6ull/my_uboot_linux/usr_lib/tslib/tmp/include \
-L /home/hqmo/workspace/share/itopimx6ull/my_uboot_linux/usr_lib/tslib/tmp/lib
make && make install
sudo mkdir /usr/local/arm/qt5.9.8_imx6ull
cp out_dir/* /usr/local/arm/qt5.9.8_imx6ull -rf -d
export QTDIR=/usr/local/arm/qt5.9.8_imx6ull
export PATH=$PATH:$QTDIR/bin
export MANPATH=$MANPATH:$QTDIR/man
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins/platforms
export QT_PLUGIN_PATH=$QTDIR/plugins/platforms/
export QT_QPA_FONTDIR=$QTDIR/lib/fonts
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:size=1024x786:mmSize=1024x786:offset=0x0:tty=/dev/tty1
- 修改ubuntu 默认qt
参考 - qt程序在ubuntu上编译
qmake -project
qmake XXX.pro
make
- qt添加自适应屏幕代码
#include <QDesktopWidget>
#include <QStyle>
#include <QRect>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QDesktopWidget *deskTopWidget = QApplication::desktop();
QRect deskRect = deskTopWidget->availableGeometry();
int appH = deskRect.height();
int appW = deskRect.width();
this->setFixedSize(appW, appH);
setGeometry(0, 0, appW, appH);
}