导航:首页 > 操作系统 > linux下qtcreator

linux下qtcreator

发布时间:2022-06-10 11:59:59

1. linux下安装fftw函数库后在QtCreator中如何使用

g++ main* /usr/local/fftw3/libfftw3f.so.3 -lfftw3

2. Linux中qtcreator root下无法输入中文

打开
qtcreator.sh
这个脚本吧,环境都自动配置好的,一般都能打开,不行再看。

3. linux 怎样安装 qtcreator开发的程序

安装
下载后得到大小 47.2 Mb 的安装文件 qt-creator-linux-x86_64-opensource-1.3.0.bin,在 Linux 上安装如下:
chmod u+x ./qt-creator-linux-x86_64-opensource-1.3.0.bin
./qt-creator-linux-x86_64-opensource-1.3.0.bin
这时候,启动了 Setup Qt Creator 欢迎安装对话框,点击“Next”->
协议许可界面,选择“I accept the agreement”,点击“Next” ->
选择 Qt Creator 安装目录对话框。作者选择的是 /home/defonds/TOOLS/qtcreator/qtcreator-1.3.0,点击“Next” ->
准备安装界面,点击“Next” ->
安装结束,点击“Finish”。
Qt Creator 使用
新建项目 HelloWorld
启动桌面上的 Qt Creator。新建工程 HelloWorld,菜单点击“File” -> New File or Project... -> Projects 中选择 Empty Qt4 Project -> OK -> 项目名键入 HelloWorld,工作台随意,作者选择的是 /home/defonds/cpp/qt , Next -> Finish。

4. 我在Linux下安装QT怎么没有运行按钮

qt默认被安装在/opt目录下。你进去了找到qtcreator运行就行了。
如何添加快捷图标:
命令行下:
ln -s qtcreator所在路径 创建快捷方式的路径

把qtcreator添加到环境变量的方法:
命令行下:
修改环境变量:export PATH=你qtcreator所在的目录名:$PATH
这样你在任何地方只要输入qtcreator就能启动了。

把qtcreator添加到制定的菜单分类中的方法:
我不知道小红帽是不是还在好用gnome的桌面。
假如是的话,你可以在/usr/share/desktops/下参考一个.desktop文件添加一个自定的文件。
把qtcreator的启动路径和图标路径填进去,保存就能在对应的菜单分类中找到了。

5. 如何在linux中用QTcreator 调用本地摄像头

/* 打开设备并进行错误检查 */
int fd = open ("/dev/video",O_RDONLY);
if (fd==-1){
perror ("Can't open device");
return -1;
}

/* 查询设备的输出格式 */
struct v4l2_format format;
memset (&format,0,sizoef(format));
format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
if (-1==ioctl(fd,VIDIOC_G_FMT,&format)){
perror ("While getting format");
return -2;
}

/*
* 这里要将struct v4l2_format结构体置零,然后将
* format.type设定为V4L2_BUF_TYPE_VIDEO_CAPTURE,
* 这样在进行 VIDIOC_G_FMT 的ioctl时,驱动就会知
* 道是在捕获视频的情形下获取格式的内容。
* 成功返回后,format就含有捕获视频的尺寸大小及格
* 式。格式存储在 format.fmt.pix.pixelformat这个32
* 位的无符号整数中,共四个字节,以小头序存储。这里
* 介绍一种获取的方法。
*/

char code[5];
unsigned int i;
for (i=0;i<4;i++) {
code[i] = (format.fmt.pix.pixelformat & (0xff<<i*8))>>i*8;
}
code[4]=0;

/* 现在的code是一个以\0结束的字符串。很多摄像头都是以格式MJPG输出视频的。
* MJPG是Motion JPEG的缩写,其实就是一些没填霍夫曼表的JPEG图片。
*/

/* 请求一定数量的缓冲区。
* 但是不一定能请求到那么多。据体还得看返回的数量
*/
struct v4l2_requestbuffers req;
memset (&req,0,sizeof(req));
req.count = 10;
req.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
req.memory = V4L2_MEMORY_MMAP;
if (-1==ioctl(fd,VIDIOC_REQBUFS,&req)){
perror ("While requesting buffers");
return -3;
}
if (req.count < 5){
fprintf (stderr, "Can't get enough buffers!\n");
return -4;
}

/* 这里请求了10块缓存区,并将其类型设为MMAP型。 */

/* 获取缓冲区的信息
* 在操作之前,我们必须要能记录下我们
* 申请的缓存区,并在最后使用munmap释放它们
* 这里使用结构体
* struct buffer {
* void * start;
* ssize_t length;
* } 以及buffer数量
* static int nbuffer
* 来表示
*/
struct buffer * buffers = (struct buffer *)malloc (nbuffer*sizeof(*buffers));
if (!buffers){
perror ("Can't allocate memory for buffers!");
return -4;
}

struct v4l2_buffer buf;
for (nbuffer=0;nbuffer<req.count;++nbuffer) {
memset (&buf,0,sizeof(buf));
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
buf.index = nbuffer;

if (-1==ioctl(fd,VIDIOC_QUERYBUF,&buf)){
perror ("While querying buffer");
return -5;
}

buffers[nbuffer].length = buf.length;
buffers[nbuffer].start = mmap (
NULL,
buf.length,
PROT_READ, /* 官方文档说要加上PROT_WRITE,但加上会出错 */
MAP_SHARED,
fd,
buf.m.offset
);

if (MAP_FAILED == buffers[nbuffer].start) {
perror ("While mapping memory");
return -6;
}
}

/*这个循环完成后,所有缓存区都保存在
*了buffers这个数组里了,完了就再将它们munmap即可。
*/

/* 打开视频捕获 */
enum v4l2_buf_type type;
type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
if (-1==ioctl(fd,VIDIOC_STREAMON,&type)){
perror ("While opening stream");
return -7;
}

/* 与内核交换缓冲区 */
unsigned int i;
i=0;
while(1) {
memset (&buf,0,sizeof(buf));
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
buf.index = i;

if (-1==ioctl(fd,VIDIOC_DQBUF,&buf)){
perror ("While getting buffer's data");
return -8;
}

/* 现在就得到了一片缓冲区的数据,发送处理 */
process_image ( buffers+buf.index,buf.index );

/* 将缓冲区交还给内核 */
if (-1==ioctl(fd,VIDIOC_QBUF,&buf)){
perror ("While returning buffer's data");
return -9;
}

i = (i+1) & nbuffer;
}
这就是所有获取的过程了。至于图像的处理,则是由解码函数和Qt来处理。现在先进行一些思路的设计。设想在进行图像的转换时,必须提供一块内存区域来进行,我们当然可以在转换时使用malloc来进行动态分配,转换完成并显示后,再将它free。然而这样做对内核而言是一个不小的负担:每次为一整张图片分配内存,最少也有上百KB,如此大的分配量和释放量,很容易造成内存碎片加重内核的负担。由于仅是每转换一次才显示一次图像,所以这片用于转换的内存区域可以安全地复用,不会同时由两个线程操作之。因此在初始化时我们为每一块内存映射缓冲区分配一块内存区域作为转换用。对于MJPEG到JPEG的转换,使用相同的内存大小。代码就不在此列出了。这片假设这个内存区域的起始指针为convertion_buffers,在process_image (struct buffer * buf, int index ) 中,有

void process_image (struct buffer *buf, int index){
struct * buffer conv_buf = convertion_buffers+index;
do_image_conversion (
buf->start, buf->length, /* 要转换的区域 */
conv_buf->start, conv_buf->length, /* 保存转换数据的区域 */
);

/* 现在就可以把数据取出并交给QPixmap处理
* 要在一个QWidget里作图,必须重载paintEvent
* 函数并用QPainter作画。然而paintEvent
* 是由事件驱动层调用的,我们不能手工,
* 所以在我们自己的的重载类里要保存一个全局
* 的QPixmap。这里设为 QPixmap * m_pixmap
*/
m_pixmap -> loadFromData (conv_buf->start,conv_buf->length);
/* 立即安排一次重绘事件 */
repaint ();
}

/* 重载的paintEvent示例 */
MyWidget::paintEvent (QPaintEvent * evt) {
QPainter painter(this);
painter.drawPixmap (QPoint(0,0),*m_pixmap);
QWidget::paintEvent(evt);
}

V4L搞定 +QT显示摄像头视频 +QT显示GIF动画 2009-11-02 09:32 哎 两星期前终于搞定了qt上显示摄像头视频采集 现在来把最终重要的代码总结下 QImage img; unsigned char *bit= v4l _dev.buffer; / /v41_dev.buffer为内存映射的地址 QRgb *point; int r, g, b; QPainter paint; if(img.create(MAX_WIDTH, MAX_HEIGHT,32, 0, QImage::IgnoreEndian)) { for(y=0; ysetMovie(movie); gif_lable->show();
哎 两星期前终于搞定了qt上显示摄像头视频采集, 现在来把最终重要的代码总结下
QImage img;

unsigned char *bit= v4l _dev.buffer; / //v41_dev.buffer为内存映射的地址

QRgb *point;

int r, g, b;

QPainter paint;

if(img.create(MAX_WIDTH, MAX_HEIGHT,32, 0, QImage::IgnoreEndian))

{

for(y=0; y<MAX_HEIGHT; y++)

{

for(x=0; x<MAX_WIDTH; x++)

{

r=(int)bit[i+2];

g=(int)bit[i+1];

b=(int)bit[i];

point= (QRgb *)(img).scanLine(y)+ x;

*point = qRgb(r,g,b); //qRgb函数能够将数据转为RGB三像素值

i+=3;

}

}

}

但是不是很明白,希望有人能把这个直接写成 QT GUI APPLICATION PROJECT 然后我再参考下。。。因为对于QT的类库真的不太了解,呵呵

6. qtcreator在Linux上调用失败,求助

不管是windows还是在Linux,出现这个问题首先考虑查看系统下是否安装有调试器
1.如果没有安装,则安装合适的调试器,然后转步骤3;

2.如果已安装调试器则查看QtCreator能否自动检测到。如果未检测到转步骤3.

3.设置调试器:在工具->选项->构建和运行->调试器中添加调试器。重启QtCreator即可。
ps: linux下使用 yum install gdb,安装gdb调试工具。

7. Linux环境下如何安装qt creator 2.4.1

这个然后安装qt官方的完整的QtSDK。
http://qt.nokia.com/downloads/sdk-windows-cpp-offline

单独的QtCreator什么用都没有。
它需要安装编译开发工具、安装Qt库本身和文档。
你装了qtcreator,不装其他的,等于什么都没装。
必须要一整套的东西全部装了才能用。
所以要安装完整QtSDK。

8. 如何使用qtcreator linux

安装
后得到大小 47.2 Mb 的安装文件 qt-creator-linux-x86_64-opensource-1.3.0.bin,在 Linux 上安装如下:
chmod u+x ./qt-creator-linux-x86_64-opensource-1.3.0.bin
./qt-creator-linux-x86_64-opensource-1.3.0.bin
这时候,启动了 Setup Qt Creator 欢迎安装对话框,点击“Next”->
协议许可界面,选择“I accept the agreement”,点击“Next” ->
选择 Qt Creator 安装目录对话框。作者选择的是 /home/defonds/TOOLS/qtcreator/qtcreator-1.3.0,点击“Next” ->
准备安装界面,点击“Next” ->
安装结束,点击“Finish”。
Qt Creator 使用
新建项目 HelloWorld
启动桌面上的 Qt Creator。新建工程 HelloWorld,菜单点击“File” -> New File or Project -> Projects 中选择 Empty Qt4 Project -> OK -> 项目名键入 HelloWorld,工作台随意,作者选择的是 /home/defonds/cpp/qt , Next -> Finish。

9. linux下qtcreator怎么配置c++的编译器

编译器:GCC编译器可以用来编译C和C++源程序,C编译器通过文件的后缀来判断是C程序还是C++程序。一般来说C源文件的后缀为“.C”,而C++源文件的后缀为“.C”或“C++”。
但GCC编译器只能编译C++源程序,不能与使用的库连接,因此用G++来完成C++程序的编译与连接,该程序会自动调用GCC来编译。


Linux里环境变量的设置,有如下几种方法:


(1)直接在终端里输入export后面加要设的变量,例如QT:
ExportQTDIR=$PWD/qt-2.3.2
其中,pwd是用来显当前路径的命令,在其前面加上$,则表示QT的目标目录在当前目录下的“qt-2.3.2”里,当然“$PWD”也可以用绝对路径来代替。这种方法所设的环境变量在下次开机后不再有效,而且换个shell也不会有效,只是临时的。
(2)在etc/profile里添加环境变量,比如:
exportQTDIR=/usr
exportLD_LIBRARY_PATH=$QTDIR/lib
exportQT_QWS_FONTDIR=$QTDIR/lib/fonts
exportQWS_DISPLAY="LinuxFb:/dev/fb0"
(3)修改.bashrc,如果需要给某个用户权限使用这些环境变量,只需修改其个人用户家目录下的.bashrc文件就可以了。
(4)用以上面两种方法设置好环境变量后记得重启


以上使用QT为例

阅读全文

与linux下qtcreator相关的资料

热点内容
解压视频白头小哥 浏览:748
cadq命令 浏览:956
python连接本地数据库报错 浏览:194
手机模拟加密禁卡操作 浏览:105
电荷数怎么算法 浏览:589
cad如何打开命令行 浏览:150
php图片限制大小 浏览:164
程序员一夜未归 浏览:593
苹果xsmaxapp怎么不显示更新 浏览:600
苹果app怎么清除角标 浏览:483
解压屁屁玩具脏了怎么办 浏览:670
算法识别自动折叠 浏览:9
dos命令遍历文件 浏览:456
翻译整个pdf 浏览:198
怎么给解压软件授权 浏览:622
怎么换手机桌面壁纸安卓 浏览:957
pdf转换阅读器 浏览:344
特斯拉怎么app预约充电 浏览:498
安卓怎么录像更清晰 浏览:919
怎么服务器输入命令没有显示出来 浏览:799