qt程序在linux console模式下运行
在Linux操作系统上进行Qt开发

在Linux操作系统上进行Qt开发随着计算机科学和技术的迅速发展,软件开发在我们日常生活中扮演着越来越重要的角色。
而在软件开发领域中,Qt框架是一个备受推崇的选择。
1. 简介Qt是一种跨平台的应用程序开发框架,可以在Linux、Windows和Mac等操作系统上进行开发。
它提供了丰富的工具和库,使开发者能够轻松构建出跨平台的应用程序。
2. Linux操作系统Linux是一种自由开源的操作系统,它以其稳定性和安全性而闻名。
对于Qt开发来说,Linux提供了一个理想的开发环境。
2.1 安装Qt首先,我们需要在Linux操作系统上安装Qt。
可以从Qt官方网站下载适用于Linux的Qt安装程序,并按照提示进行安装。
2.2 配置开发环境安装完成后,我们需要配置Qt开发环境。
在终端中输入以下命令,将Qt添加到系统路径中:```export PATH=$PATH:/path/to/qt/bin```这样,我们就能够在任何位置运行Qt开发工具。
3. Qt开发工具Qt提供了一系列开发工具,使我们能够高效地进行软件开发。
3.1 Qt CreatorQt Creator是一个集成开发环境(IDE),具有代码编辑、调试和构建等功能。
它提供了一个直观的界面,使我们能够轻松创建和管理项目。
3.2 Qt DesignerQt Designer是Qt的可视化界面设计器,可帮助我们设计GUI界面。
它提供了丰富的界面组件和布局工具,使我们能够快速创建出漂亮的界面。
4. Qt应用程序的创建和编译在Qt Creator中,我们可以创建一个新的Qt项目。
选择适当的项目模板,并按照向导的指示进行配置。
在项目中,我们可以使用C++或Qt自身的脚本语言QML进行编码。
在代码编写完成后,我们可以使用Qt Creator进行编译和构建。
它会自动处理依赖关系,并生成可执行文件。
5. 调试和测试在Qt Creator中,我们可以使用调试器进行调试。
它提供了断点、变量监视和堆栈跟踪等功能,帮助我们追踪和修复程序中的错误。
linuxdeployqt 用法

linuxdeployqt 用法一、前言DeployQt 是一个用于 Qt 应用程序快速部署的插件,它能够将Qt 应用程序打包成独立的可执行文件,并自动进行相关配置,使得用户可以在没有安装 Qt 库的情况下运行 Qt 应用程序。
Linux 系统是当前较为流行的操作系统之一,因此,本篇文章将介绍如何在 Linux 系统下使用 DeployQt。
二、安装 DeployQt在使用 DeployQt 之前,需要先确保它已经安装在了系统中。
在Ubuntu 或 Debian 系统下,可以使用以下命令来安装 DeployQt:```shellsudo apt-get install deployqt```在 CentOS 或 Fedora 系统下,可以使用以下命令来安装DeployQt:```shellsudo yum install deployqt```三、使用 DeployQt 打包 Qt 应用程序使用 DeployQt 打包 Qt 应用程序非常简单,只需要在终端中执行以下命令:```shelldeployqt [应用程序可执行文件路径]```其中,应用程序可执行文件路径是指需要打包的 Qt 应用程序的路径。
执行该命令后,DeployQt 会自动进行相关配置和打包操作,并将打包后的应用程序文件保存到指定的输出目录中。
默认情况下,输出目录为当前工作目录下的一个名为 `deployqt_cache` 的子目录中。
四、使用打包后的应用程序打包后的应用程序文件位于输出目录中,可以直接运行。
需要注意的是,由于打包过程中已经进行了相关配置,因此运行应用程序时不需要再单独进行配置。
另外,如果想要在不同的 Linux 发行版或版本上运行打包后的应用程序,可能需要根据具体情况进行一些调整。
五、注意事项在使用 DeployQt 进行 Qt 应用程序打包时,需要注意以下几点:1. DeployQt 只能打包基于 Qt 的应用程序,对于非 Qt 应用程序,需要使用其他工具进行打包。
linuxdeployqt 编译

linuxdeployqt 编译Linuxdeployqt是一个用于将Qt应用程序打包为AppImage的工具。
它能够将所有依赖项打包进一个独立的可执行文件中,从而使应用程序更加易于分发和安装。
以下是使用Linuxdeployqt编译应用程序的步骤:1. 安装所需的依赖项在使用Linuxdeployqt之前,需要安装一些必要的依赖项。
这些依赖项包括Qt库、CMake和Git等。
具体的安装过程请参考操作系统的官方文档或其他相关教程。
2. 下载Linuxdeployqt可以从Linuxdeployqt的官方网站或GitHub页面下载最新版本的源代码。
下载完成后,解压缩文件并进入解压缩后的目录。
3. 编译Linuxdeployqt在Linuxdeployqt的解压缩目录中,运行以下命令进行编译: ```mkdir buildcd buildcmake ..make```编译完成后,在build目录中将生成一个名为linuxdeployqt的可执行文件。
4. 打包应用程序将应用程序文件放置在一个空的目录中,并将应用程序的依赖项复制到该目录中。
然后,在该目录中运行以下命令:```/path/to/linuxdeployqt ./myapp -appimage```其中,/path/to/linuxdeployqt是linuxdeployqt可执行文件的路径,./myapp是应用程序的目录。
该命令将在当前目录中生成一个名为myapp-x86_64.AppImage 的文件,这是一个独立的可执行文件,包含了所有的依赖项。
5. 运行应用程序将生成的AppImage文件复制到需要运行应用程序的计算机上,并通过以下命令运行应用程序:```chmod +x myapp-x86_64.AppImage./myapp-x86_64.AppImage```应用程序将在计算机上独立运行,并且不需要安装任何其他依赖项。
总结使用Linuxdeployqt可以将Qt应用程序打包为独立的可执行文件,从而使应用程序更加易于分发和安装。
linuxdeployqt32位

linuxdeployqt32位Linux Deploy Qt是一个用于在Linux操作系统上部署Qt应用程序的工具。
它可以帮助您自动处理Qt应用程序的依赖关系,并将其打包为一个可独立运行的可执行文件。
对于32位系统,您需要使用适用于32位系统的Linux Deploy Qt版本。
以下是一般步骤,用于在32位Linux系统上使用Linux Deploy Qt部署Qt应用程序:1.确保您已经安装了适用于32位系统的Qt库和编译器。
您可以从Qt官方网站下载并安装适用于32位系统的Qt版本。
2.下载适用于32位系统的Linux Deploy Qt工具。
您可以在GitHub上找到该工具的源代码或预编译的二进制文件。
3.将您的Qt应用程序的可执行文件和所有相关的资源文件复制到一个新的文件夹中。
4.打开终端,并导航到包含您的Qt应用程序的文件夹。
5.运行Linux Deploy Qt工具,指定您的应用程序的可执行文件作为参数。
例如,如果您的可执行文件名为myapp,则可以运行以下命令:bash./linuxdeployqt-x86 myapp注意,上述命令中的linuxdeployqt-x86是适用于32位系统的Linux Deploy Qt工具的可执行文件名。
确保您使用正确的文件名。
6. Linux Deploy Qt将扫描您的应用程序的依赖关系,并将所需的Qt库和其他依赖项复制到与您的应用程序相同的文件夹中。
7. 完成后,您应该能够在没有安装Qt库的计算机上运行您的应用程序。
只需将整个文件夹复制到目标计算机上,并运行可执行文件即可。
请注意,上述步骤是一般性的指导,并且可能会因您的特定设置而有所不同。
确保根据您的实际情况进行调整,并参考Linux Deploy Qt的文档以获取更详细的说明和选项。
QT下执行Shell或启动外部程序

See also pid(), started(), and waitForStarted().
2、使用QProcess::execute(), 不过使用此方法时程序会最阻塞直到此方法执行的程序结束后返回,这时候可使用QProcess和QThread这两个类结合使用的方法来处理,以防止在主 线程中调用而导致阻塞的情况
QT下执行Shell 或启动外部程序
方案一:
调用linux C函数库中的int system(const char * string);应该能够实现你需要的功能
system( command )
特定指令被执行并且如果它返回一个1的退出值,那么这个作用域中的设置将会被处理。例如:
system( ls /bin ) {
先从QThread继承一个类,重新实现run()函数:
Quote:
class MyThread : public QThread
{
public:
void run();
};
void MyThread::run()
{
QProcess::execute("notepad.exe");
QStringList str;
str << "";
process->start("./WinMerge/WinMergeU.exe",str);
如果程序里面不输入参数,就会直接到软件直接运行时的界面。
加参数后弹出的界面是工具栏第一列中的第一个需要输入的界面(这个是我猜测的,不确定,但确实能弹出)。
如果要弹出的话,用fork或system
ifห้องสมุดไป่ตู้ (fork () == 0) {
linux虚拟机下安装QT说明

步骤如下:
1、su到root用户,执行:
cd /opt/Qt5.2.0/5.2.0/gcc/lib
ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0 libGL.so
------------------------------------------
5.设置环境变量(跟你选择的Qt安装路径有关):sudo vim /etc/profile
把下列语句复制到profile里:
#Qt env for android
export QTDIR=/opt/Qt5.3.1/
export PATH=$PATH:$QTDIR/bin:$QTDIR/5.3/gcc/bin
./configure
gmake
gmake install
Qt 将被在 /usr/local/Qt-5.2.0
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
ubuntu12中
qt项目make的时候提示找不到GL库
看到Makefile中g++的-L路径是-L/opt/Qt5.2.0/5.2.0/gcc/lib
在-L/opt/Qt5.2.0/5.2.0/gcc/lib下确实没有找到libGL.so相关库文件
在/usr/lib/i386-linux-gnu/mesa 下找到libGL.so.1 libGL.so.1.2.0这两个文件
将这两个文件拷贝到/Qt5.2.0/5.2.0/gcc/lib目录下,同时生成libGL.so链接文件指向libGL.so.1
linux qt 开发流程

linux qt 开发流程Linux Qt是一种开发平台,它能让开发者们在Linux操作系统上轻松创建跨平台的图形界面应用程序。
为了保证一个高效和顺畅的开发过程,以下是Linux Qt开发的一般流程:1. 安装Qt框架:首先,您需要在Linux系统上安装Qt开发环境。
您可以从Qt官方网站下载并安装适合您平台的Qt版本。
2. 创建项目:在开始任何Qt开发之前,您需要创建一个新的Qt项目。
通过Qt Creator或者使用终端命令创建一个新的项目目录。
3. 编写代码:使用Qt Creator或者您喜欢的文本编辑器,打开项目文件并开始编写代码。
Qt使用C++语言开发,所以您需要熟悉C++编程语言。
在编写代码时,您可以使用Qt提供的丰富的类和库来创建界面和处理用户交互。
4. 设计用户界面:在Qt Creator中,您可以使用可视化设计器来设计应用程序的用户界面。
通过拖放方式选择和布置UI元素,然后通过属性编辑器设置各个元素的属性和样式。
您也可以使用Qt的布局管理器来自动调整UI元素的大小和位置。
5. 编译项目:完成代码编写和界面设计后,使用Qt Creator或者终端命令进行项目编译。
Qt提供了一个强大的构建系统,名为qmake,它可以根据项目文件自动配置和管理编译过程。
6. 调试和测试:在编译成功后,您可以使用Qt Creator提供的调试工具对应用程序进行调试。
您可以设置断点、观察变量和执行单步调试来定位和解决代码中的问题。
此外,您还可以编写单元测试来确保代码的正确性和稳定性。
7. 运行和部署:一旦应用程序编译和调试完成,您可以在Linux上运行应用程序来测试其功能。
如果一切正常,您可以使用Qt提供的工具将应用程序打包为可执行文件或者创建Linux安装包。
这样您就可以轻松地部署和分享您的应用程序。
通过按照上述流程进行开发,您可以利用Linux Qt轻松开发出高性能、跨平台的图形界面应用程序。
希望这些信息对您有所帮助,祝您在Linux Qt开发中取得成功!。
解决Ubuntu下使用linuxdeployqt打包Qt程序问题

解决Ubuntu下使⽤linuxdeployqt打包Qt程序问题写了点Qt界⾯程序,然⽽发现很难移植到其他没有安装Qt环境的电脑上运⾏。
查资料了解到,在windows上有windowsdeployqt程序,linux上有linuxdeployqt可以帮助我们快速打包。
1. 配置Qt环境⾸先,我们先把Qt环境配置好,在~/.bashrc中加⼊:export PATH=/home/xl/Qt5.9.2/5.9.2/gcc_64/bin:$PATHexport LD_LIBRARY_PATH=/home/xl/Qt5.9.2/5.9.2/gcc_64/lib:$LD_LIBRARY_PATHexport QT_PLUGIN_PATH=/home/xl/Qt5.9.2/5.9.2/gcc_64/plugins:$QT_PLUGIN_PATHexport QML2_IMPORT_PATH=/home/xl/Qt5.9.2/5.9.2/gcc_64/qml:$QML2_IMPORT_PATH其中/home/xl/Qt5.9.2/5.9.2/⽬录要根据⾃⼰电脑上安装的Qt路径进⾏修改。
然后执⾏sourec ~/.bashrc使配置⽣效。
2. 编译linuxdeployqt虽然有放出编译好的包,但是由于我使⽤的是Ubuntu18,系统版本过⾼,因此还是选择编译代码的⽅式。
为了避免编译好的包运⾏时检测到我们的系统版本过⾼,不继续执⾏的问题,我们编译前,将tools/linuxdeployqt/main.cpp中的下述代码注释掉:// openSUSE Leap 15.0 uses glibc 2.26 and is used on OBS/*if (strverscmp (glcv, "2.27") >= 0) { //注释版本检查qInfo() << "ERROR: The host system is too new.";qInfo() << "Please run on a system with a glibc version no newer than what comes with the oldest";qInfo() << "currently still-supported mainstream distribution (xenial), which is glibc 2.23.";qInfo() << "This is so that the resulting bundle will work on most still-supported Linux distributions.";qInfo() << "For more information, please see";qInfo() << "https:///probonopd/linuxdeployqt/issues/340";return 1;}*/然后就可以使⽤cmake和make进⾏编译。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Qt程序在linux Console模式下运行
原文链接:在x86非图形界面下运行QtEmbedded程序
众所周知,一般我们在桌面环境下可以使用qvfb这个工具作为运行QtEmbedded程序的模拟器环境,但我们今天不讲这些大家都知道的事情。
回顾一下QtEmbedded对系统以及硬件的要求,一般来说只有下面少少的几点:
1、 Linux内核+ framebuffer驱动+ socket支持
2、 /tmp可写
3、有合适的键盘和鼠标(触摸屏)驱动并做好与Qt的集成
4、合适的编译器和交叉编译工具链(toolchain)
那么聪明的同学已经想到了,为什么我们不能直接在桌面的linux系统中运行QtE程序呢?似乎QtE的要求我们的桌面系统一样可以满足亚。
答案当然是肯定的。
一条一条来说的话, 1内核支持framebuffer和socket这一条大部分发行版默认的内核就可以; 2就不用说了;3在QtE的源码里自带了对普通桌面鼠标和键盘硬件的驱动;4对于X86系统,普通的gcc就可满足,一般linux发行版带的gcc版本也基本可以满足QtE编译的要求。
那么,怎么才能实现我们的想法呢?还是要一步一步按部就班来做。
以笔者的Ubuntu 为例,介绍一下设置的具体步骤。
编译QtEmbedded
这一步编译和编译qvfb版本区别不大,只是不再需要configure的时候加-qvfb参
数,只用不加参数的configure足矣。
# tar -zxvf qt-em bedded-linux-opensource-src-4.5.1.tar.gz
# cd qt-em bedded-linux-opensource-src-4.5.1
# ./configure -embedded x86 –qvfb
// 我的编译情况是: ./confignre –prefix /work/Trolltech/QtEm bedded-4.5.1–no-o penssl
# gmake
# gmake install
qt-em bedded 被安装在这个目录下/usr/local/Trolltech/QtEmbedded-4.5.1
设置环境变量:
# vi ~/.bashrc
把下面的加上去
export QTEDIR=/usr/local/Trolltech/QtEm bedded-4.5.1
export PATH=/usr/local/Trolltech/QtEm bedded-4.5.1/bin:$PAT H
export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEm bedded-4.5.1/lib:$LD_LIBRA RY_PATH
至此,qt-em bedded安装完毕
(我是这么编译的 ./cofigure –prefix 你要安装的目录–no-openssl)SSL,Security Socket Layer,是一个安全传输协议,在Internet网上进行数据保护和身份确认
打开framebuffer
Ubuntu系统默认没有打开framebuffer,缺少QtEmbedded需要的/dev/fb0设备,需要我们手动打开fb的支持。
在上一篇文章《对linux framebuffer的初略的认识》里谈到了怎么打开,只要在设备文件中看淡有/dev/fb0或者/dev/fb1就可以啦!然后在用命令cat /dev/fb0 出现大量的乱码,说明你成功的打开了!!!
尝试运行QtE的程序
上面的那个编译过程估计得几个小时,之后有在安装的目录下面有一些demo的,或者你把自己写好的程序拷进去,
#qmake –project //生成.pro 文件如果你的函数中用到了什么模块你可以加在.pro文件里面
#qmake –makefile //生成Makefile文件
#make //生成可执行文件
之后运行执行文件的时候记住后面加个–qws 参数!!!
qt/e嵌入式的应用程序要把显示结果输出到FrameBuffer,在命令行运行这个程序时,在程序名后加上-qws的选项。
-qws选项的含义是使这个应用程序成为服务器。
我是在fedora13上实验的,呵呵!成功啦!不过最后还有点问题就是最后程序中显示中文有问题!!刚开始我以为是linux Console模式下不支持中文显示,之后在网上找到一个显示中文的方法,zhcon 这个命令行!!
#zhcon –utf8 //这样就可以显示中文啦在Console模式下
但是程序还是不行!网上的很多办法我都试啦!就连以为是.cpp 文件编码的可能我也试啦,但是不行!!
这是截之一篇网上的文章:
关于中文乱码的问题,我怀疑是你的cpp文件的编码是用的system,也就是GBK.
你把cpp文件的编码也改为utf-8,应该就解决中文乱码的问题了。
在qtcreator中 edit --> select Encoding 可以改变代码文件的编码,也可以在project --> edit setting中选择整个项目的文件编码。
最后还是没有能显示中文,因为老师突然说不这么弄啦,我自己也有点泄气了就没有做下去啦!还有点问题就是fb显示的时候,如果Console上有打印信息输出的话,显示的窗口就会消失一部分,显示不正常,这个到时在网上听到有个解决的办法,要用到framebuffer 多线程相关的知识吧!!有点懒就没有继续研究下去啦!呵呵!!!以后有机会一定的完成!!!。