小编Tio*_*epe的帖子

QT版本未正确安装,请运行make install

我安装了QT-设计人下载qt-creator-linux-x86-opensource-2.6.1.bin使用

sudo ./qt-creator-linux-x86-opensource-2.6.1.bin 
Run Code Online (Sandbox Code Playgroud)

在Ubuntu 11.04

我尝试在QT-Creator/Build/QT版本配置中添加QT版本,并要求提供qmake可执行文件.

我用它安装了:

sudo apt-get install qt4-devel
Run Code Online (Sandbox Code Playgroud)

部署qmake in /usr/bin/qmake

我在QT-Creator/Build/QT版本配置中选择它作为手动,Qt-4.7.2 (System) /usr/bin/qmake-qt4但是QT version is not properly installed, please run make install消息apears并不能在QT-Creator/Build/Kits配置中使用它.

如何解决Qt-creator在项目创建中使用configure qmake的问题?

linux qt

7
推荐指数
2
解决办法
2万
查看次数

QTreeView::scrollTo 不起作用

Qt 4.8

我有一个QTreeView基础课程和一个相关的QAbstractItemModel基础课程。如果我使用新信息重新加载模型,我想将树展开/滚动到先前选定的项目。

QTreeView::setSelectionModel(...)使用一切正常工作,可以正确创建和连接两个类、树视图和模型。

重新加载模型后,我获得了上一个所选项目的有效索引,然后滚动到它:

myTreeView->scrollTo(index);
Run Code Online (Sandbox Code Playgroud)

但树没有扩展。但是,如果我手动展开树,则该项目确实被选中。

树视图的初始化结构如下:

header()->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
header()->setStretchLastSection(false);
header()->setResizeMode(0, QHeaderView::ResizeToContents);
Run Code Online (Sandbox Code Playgroud)

关于将树扩展到选择的任何想法吗?

c++ qt

4
推荐指数
1
解决办法
7729
查看次数

“不是gcc 4.5.2编译器错误的直接基础”

我有这个代码

#include <vector>
#include <array>

template <typename T>
struct Vertice
{
    T elements_[4];

    Vertice(const T & x, const T & y, const T & z)
    {
        elements_[0] = x;
        elements_[1] = y;
        elements_[2] = z;
        elements_[3] = T(1);
    }
    Vertice() : Vertice(T(0), T(0), T(0)) {}
};

typedef Vertice<float> VerticeF;
std::array<VerticeF, 5> v2;
Run Code Online (Sandbox Code Playgroud)

并在使用gcc 4.5.2进行编译时返回以下错误:

$ g++ -o tutorial tutorial.cpp -std=gnu++0x
tutorial.cpp: In constructor ‘Vertice<T>::Vertice() [with T = float]’:
/usr/include/c++/4.5/tr1_impl/array:50:5:   instantiated from here
tutorial.cpp:28:41: error: type ‘Vertice<float>’ is not a direct …
Run Code Online (Sandbox Code Playgroud)

c++

1
推荐指数
1
解决办法
3010
查看次数

Fsync太快了?

我对大文件ftruncatefsync操作感到惊讶.我编写了一个程序,在Linux 64位系统上创建一个空文件,将其截断为0xffffffff字节,然后将其截断fsync.

完成所有操作后,使用此长度正确创建文件.

我看到这个ftruncate成本约为1442微秒,fsync成本仅为4微秒.

这种高性能是正常的吗?真的是在光盘上写下所有字节吗?如果没有,我该如何确保同步?

#include <sys/time.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <iostream>

static const size_t __tamFile__ = 0xffffffff;

int main(int, char **)
{
    std::string fichero("./testTruncate.dat");

    unlink(fichero.c_str());

    int fd = open(fichero.c_str(), O_CREAT | O_RDWR, S_IRUSR | S_IWUSR);
    if (fd != -1)
    {
        struct timeval t1, t2;

        timerclear(&t1);
        timerclear(&t2);

        gettimeofday(&t1, NULL);
        ftruncate(fd, __tamFile__);
        gettimeofday(&t2, NULL);

        unsigned long long msecTruncate = static_cast<unsigned long long>((((t2.tv_sec * 1E6) + t2.tv_usec) …
Run Code Online (Sandbox Code Playgroud)

c c++ linux filesystems

0
推荐指数
1
解决办法
426
查看次数

标签 统计

c++ ×3

linux ×2

qt ×2

c ×1

filesystems ×1