我安装了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的问题?
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)
关于将树扩展到选择的任何想法吗?
我有这个代码
#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) 我对大文件ftruncate和fsync操作感到惊讶.我编写了一个程序,在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)