1. 程式人生 > >Qt版本差異造成的問題與解決方法

Qt版本差異造成的問題與解決方法

ubuntu14.04.2安裝Qt5.6.0的所遇到的問題
(Calculator:15093): Gtk-WARNING **: 無法在模組路徑中找到主題引擎:“murrine”,
其中一個問題忘了怎麼解決的  就是解除安裝ubuntu上原來的Qt3和Qt4
解除安裝命令自己百度下

問題1:環境變數的配置
安裝Qt5.6.0之後配置環境變數
sudo vi /etc/profile
在 /etc/bashrc最下面加入:
export QTDIR=/opt/Qt5.6.0/5.6/gcc_64
注:這裡新增一個環境變數QTDIR 如果是root使用者
預設安裝目錄一般是這個/opt/Qt5.6.0/....
非root登入的使用者預設是:/home/使用者名稱/Qt5.6.0/5.6/gcc_64
export PATH=$QTDIR/bin:$PATH
注:修改PATH環境變數,在PATH前面加入QT的bin路徑
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
注:LD_LIBRARY為動態庫查詢路徑
如下:
___________________________________________________
export QTDIR=/home/lem/Qt5.6.0/5.6/gcc_64
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
___________________________________________________

問題2:
如果出現qmake找不到或者說/usr/lib/x86-linux/
sudo ln qmake /home/使用者名稱/Qt  --->這行命令
用於解決/usr/lib/x86-linux/.../目錄下沒有qmake的問題  也就是咱們給他建立個連線

問題3: Gtk-WARNING **: 無法在模組路徑中找到主題引擎:“murrine”,
執行如下:
sudo apt-get install murrine-themes
sudo apt-get install gtk2-engines-murrine
sudo apt-get install libgtkmm-2.4-1c2a
sudo apt-get install libgtkmm-2.4-dev
sudo apt-get install libcanberra-gtk-module:i386

問題4:由於Qt5 取消了QTextCodec::setCodecForTr()和QTextCodec::setCodecForCString()這兩個函式。
所以直接將
QTextCodec::setCodecForLocale(QTextCodec::codecForName("utf-8"));這行程式碼註釋掉就行。
解決:    QString::Fromlocal8bit("我是中文");或
    QString s = u8"我是中文";或
    QString::fromUtf8("我是中文");或
    setWindowTitle (QString::fromUtf8("我是中文"));
置於QApplication例項之前即可解決;

問題5:QT5找不到#include<QApplication>標頭檔案在哪裡
QApplication載入到了QWidget模組中了
解決:在工程檔案****.pro
vi ***.pro後,新增:QT +=widgets
另外如果需要可能還要增加QT -=GUI或者QT +=GUI

問題6:問題4併發的  如果("我是中文")這裡面是5個字,那麼也會出現亂碼,所以可以在其中加一個空格解決,至於為什麼,還不知道。