升级xcode 后 Qt 出问题了,google 找到了解决方法。

http://stackoverflow.com/questions/33728905/qt-creator-project-error-xcode-not-set-up-properly-you-may-need-to-confirm-t

~> Xcode 8

This problem occurs when command line tools are installed after Xcode is installed. What happens is the Xcode-select developer directory gets pointed to /Library/Developer/CommandLineTools.

Step 1:

Point Xcode-select to the correct Xcode Developer directory with the command:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Step 2:

Confirm the license agreement with the command:

xcodebuild -license

This will prompt you to read through the license agreement. 

Enter agree to accept the terms.

>= Xcode 8

Step 1:

As Bruce said, this happens when Qt tries to find xcrun when it should be looking for xcodebuild.

Open the file:

Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf

Step 2:

Replace:

isEmpty($$list($$system(“/usr/bin/xcrun -find xcrun 2>/dev/null”))))

With:

isEmpty($$list($$system(“/usr/bin/xcrun -find xcodebuild 2>/dev/null”)))

一、最简单的方法,使用QT自带的命令:

macdeployqt appname.app/ -verbose=1 -dmg

二、

1、查看程序中依赖的库

终端中运行 otool -L appname.app/contents/MacOS/appname

2、拷贝非系统自带的库,如QtCore

cp -R /Library/Frameworks/QtCore.framework appname.app/Contents/Frameworks/

3、改变路径

install_name_tool -id @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore appname.app/Contents/Frameworks/QtCore.framework/Versions/4/QtCore

install_name_tool -change QtCore.framework/Versions/4/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore appname.app/Contents/MacOS/appname
如果有些库还依赖其他库时,也要改变此库中的依赖库路径,不然运行时也有问题的
转自:http://blog.csdn.net/weiren2006/article/details/6547039

方法一:
解决方法很简单:
打开/Applications/Qt5.3.2/5.3/clang_64/mkspecs/qdevice.pri文件, 把下面的这句:
!host_build:QMAKE_MAC_SDK = macosx10.8
改成
!host_build:QMAKE_MAC_SDK = macosx10.9
就可以了。

方法二:
export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk

出现这个的原因是窗口继承的是QMainwindow,需要设置
setCentralWidget();
如下:

    m_wMainWidget = new QWidget();
    //QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which already has a layout
    setCentralWidget(m_wMainWidget);

    setWindowTitle(tr("资源转换工具"));
    setMinimumSize(800, 600);

    QVBoxLayout * mainLayout = new QVBoxLayout();
    mainLayout->addWidget(m_gbInputGroup);

    m_wMainWidget->setLayout(mainLayout);

设置好一个widget即可

F1                         查看帮助
F2                         跳转到函数定义(和Ctrl+鼠标左键一样的效果)
Shift+F2                声明和定义之间切换
F4                         头文件和源文件之间切换
Ctrl+1                   欢迎模式
Ctrl+2                   编辑模式
Ctrl+3                   调试模式
Ctrl+4                   项目设置模式
Ctrl+5                   帮助模式
Ctrl+6                   输出模式
Alt+0                    显示或者隐藏侧边条,编辑模式下起作用(有时写的函数太长,屏幕不够大,就用这个)
Ctrl+Space           自动补全(貌似会和输入法的切换冲突)
ESc                       切换到编辑模式
Alt+1                    创建细节窗口
Alt+2                    搜索结果窗口
Alt+3                    程序输出窗口
Alt+4                    编译输出窗口
Ctrl+B                   编译工程
Ctrl+R                   运行工程
Ctrl+I                   自动对齐
Ctrl+/                   注释行,取消注释行
Ctrl+Shift+<         折叠代码块
Ctrl+Shift+>         展开代码块
Ctrl+[                   跳到代码块的头部
Ctrl+]                   跳到代码块的尾部
Ctrl+L                  跳到某一行
Ctrl+F                  查找替换当前选中的内容,按下Ctrl+F,会列出所有和你选的内容一样的语句
Ctrl+Shift+F         查找内容
F5                        开始调试
Shift+F5               停止调试
F9                        设置和取消断点
F10                      单步前进
F11                      单步进入函数
Shift + F11           单步跳出函数