• 2177阅读
  • 0回复

[提问]再来一个VS编译QT4程序的怪问题 [复制链接]

上一主题 下一主题
离线stlcours
 

只看楼主 倒序阅读 楼主  发表于: 2015-02-20
这个例子是Linux窗口程序设计 --Qt4精彩实例分析》光盘源码,第七章的代码。
全部代码如下:

#include <QtGui>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QDirModel model;      
    QListView list;
    QTreeView tree;  
    QTableView table;

    tree.setModel(&model);
    list.setModel(&model);
    table.setModel(&model);

    tree.setSelectionMode(QAbstractItemView::MultiSelection);    
    list.setSelectionModel(tree.selectionModel());
    table.setSelectionModel(tree.selectionModel());

    QObject::connect(&tree,SIGNAL(doubleClicked(QModelIndex)),&list,SLOT(setRootIndex(QModelIndex)));
    QObject::connect(&tree,SIGNAL(doubleClicked(QModelIndex)),&table,SLOT(setRootIndex(QModelIndex)));

    QSplitter *splitter = new QSplitter;    
    splitter->addWidget(&tree);
    splitter->addWidget(&list);
    splitter->addWidget(&table);  

    splitter->setWindowTitle(QObject::tr("Model/View"));
    splitter->show();

    return app.exec();
}

发现一个怪问题,如果使用VS普通权限编译,则可以显示网络映射盘符。如果使用VS管理员权限(在VS的标题栏会显示(Administror)状态)编译(如果程序要操作某些特殊系统文件/注册表的话,就不得不如此。特别是Project->properties->Configuration->Manifest File->Enable UAC设置Yes,UAC Excution Level设置requireAdministrator以后,就一定如此),就无法显示网络映射盘符了。莫名其妙啊,百思不得其解。不知道各位使用MinGW编译的话,是怎么解决UAC权限问题的?

我的环境:VS2008 SP1 + QT4.86 + WIN7 x64
快速回复
限100 字节
 
上一个 下一个