使用QFileDialog我的程序奇怪的bechaviour

时间:2014-11-06 10:38:04

标签: c++ visual-studio-2010 qt

我使用master在MS VS2010中创建了Qt窗口应用程序,并在我窗口的类的构造函数中放置了一些代码。这是。

MyBug::MyBug(QWidget *parent, Qt::WFlags flags)
    : QMainWindow(parent, flags)
{
    ui.setupUi(this);
    QFileDialog fd;
    QString StackPath = fd.getExistingDirectory();
    std::vector<int> v;
    const int N=125000000;
    try
    {
        if (v.max_size()>N)
            v.resize(N);
    }catch(std::exception &e)
    {
        QMessageBox msgBox;
        msgBox.setText(e.what());
        msgBox.exec();
    }
}

当我尝试调整数组大小时,我得到了错误的分配异常。显然,我尝试分配的物品少于可能的物品。但是,当分配的次数少于10次时,没有发生任何例外。它还取决于QFileDialog的行为。如果在不选择目录的情况下关闭对话框,则调整大小过程将成功运行。 QFileDialog中是否有错误,为什么我无法调整向量的大小?怎么解决? 我使用的操作系统是Windows 64,Qt版本是4.8.4,VS2010中的目标平台是Win32。

0 个答案:

没有答案