我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

qt怎么运行go语言,go+qt

linux下执行qt程序怎么编译运行

1、在Linux下的命令行编辑程序:

公司专注于为企业提供网站设计、网站制作、微信公众号开发、成都商城网站开发,微信小程序开发,软件按需策划设计等一站式互联网企业服务。凭借多年丰富的经验,我们会仔细了解各客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,创新互联公司更提供一系列网站制作和网站推广的服务。

[root@localhost root]# mkdir hello

//mkdir命令创建一个hello目录

[root@localhost root]# cd hello

//cd命令切换到刚才创建的hello目录

[root@localhost hello]# vi main.cpp

//在hello目录中用vi创建一个main.cpp文件 将下面的代码输入到main.cpp文件中

#include QApplication

#include QLabel

int main(int argc,char *argv[])

{

QApplication app(argc,argv);

QLabel *label = new QLabel(“Hello Qt”);

Label-show();

return app.exec();

}

2、然后在命令行编译程序:

[root@localhost hello]# qmake –project

//执行qmake –project,因为目录是hello,因此在hello目录下生成一个与平台无关的项目文件hello.pro,

[root@localhost hello]# qmake hello.pro

//执行qmake hello.pro项目文件后,在hello目录下生成一个与平台有关的Makefile文件。

[root@localhost hello]# make

//执行make进行编译源代码,并生成main.o目标文件及hello执行文件。

[root@localhost hello]# ./hello

//执行hello,就会弹出Hello Qt窗口,到此说明成功了。

Go语言有什么好用的IDE吗

我喜欢jetbrains系列的IDE+go插件。不过我要说的是这个问题主要看你的观点如何。

说eclipse:

构建方式是使用go install 命令,每一次编译运行都是go install。这样的好处就是如果你有很多的包,下载下来并没有编译,这样每次编译速度是很快的。而且(!)go install 符合go官方的项目结构,官方说过了,一个go的项目应该是以个gopath,包含src,pkg,bin三个主要目录。所以说go install个人认为才是主要的go编译方式。

说eclipse的缺点:

其实eclipse插件的go编译方式,还有目录结构,项目结构,都是非常完美的!!!!真的很完美!可是,他的代码提示,太差件!大括号都不能自动补全,gdb 32bit 64bit兼容问题,eclipseC++ 没有html js插件,需要手动安装,几乎不能开箱即用。不过如果你是开发算法,数据处理,还是推荐eclipse的,毕竟其他都无关紧要。

说jetbrains:

说先说clione肯定不适合,新建项目没有向导,导致改成go项目各种不开心,比如图标对于我来说就无法接受go lib 不是小耗子~这是次要的,重要的是各个文件都是灰色的(没有在cmake中包含的结果),然后说剩下的,phpstorm这个不说了,估计很少有人插件按在这里,webstorm,体验也不是很好,idea?体验很好,可是毕竟比较重,尤其是现在加入了自家的K啥玩意(无意冒犯,没记住单词)~可是话说回来,go跟C系列IDE配合才是最佳,跟java系列一点不搭关系,用idea似乎有点格格不入,但是!idea支持新建项目向导,lib的图标也很清晰,最后还是选择idea吧,期待clion的强大起来!

再说jetbrains系列缺点:

插件的构建方式是go buiild 这个让人很不爽,我们几乎不确定会构建到什么地方去,还要每次设置一下run配置。这个可能无关紧要,毕竟不是什么大的毛病,可是go build不能缓存.a文件,直接构建的结果就是很多第三方包的情况下很慢!所以建议安装包的时候手动install 一下解决这个问题。自带代码格式化,这个格式化跟go 格格不入,总的来说就是蛋疼,心碎,菊花痒。

最后说liteIDE:

轻量级IDE,我可以说是国人GO伟大作品典范,然而默认构建也是go build,项目管理方式不符合go官方标准。代码提示不能自动导入(eclipse也不能),不过如果你的项目是以包为单位的,那么另当别论。一定很不错,毕竟是轻量级专门针对GO的IDE!

说这些,其实还有很大一部分取决于你的项目是用vendor机制管理,还是godeps机制管理依赖关系。go不像java拥有强大的几乎天下一统的maven(无意冒犯,暂不评价其他构建套件)。

go没有官方包仓库。

go没有官方包管理工具。

go没有官方自动化构建套件。

上面三个没有是致命要害。导致民间各种百花齐放。

说说我的项目怎么管理

gpm 一个shell工具(windows下你可以用git的bash,或者cygwin~)

我是严格艳照官方推荐方式管理go项目,一个go项目一个gopath。系统的gopath只是为了安装go命令,我没有配置gobin,意义不大。

项目的依赖跟我的代码包都在src下(非vendor)

vendor用来存放包的特殊依赖,发布项目直接把依赖包发布上去(公网管理则只上传依赖关系文件 godeps文件)

资源文件等都放在src目录同级,编译文件放在bin,引用直接../引用。

如何在QT下执行shell或外部程序

1、设计gui图形界面,创建一button,并在clicked下添加代码

第一种方法(50行)是调用linux C函数库中的system(const char *string);

第二种方法(51行)和第三种方法(53 54行)是调QT里的函数;

需要说明的时,上面三种方法都是可以的,但前两种方法会阻塞进程,直到smplayer程序结束,而第三种方法则不会阻塞进程,可以多任务运行。

还有,我们知道qt在运行的时候,要启动qws(qtwindows server),如果用前面两种方法,则smplayer运行的时候,要新开启一个qws,否则不能运行;而用第三种方法,则不需要再开启qws,它和HelloQt4共用一个qws,这样,在一个窗口里可以看到这两个程序。

2、新建运行脚本,用来启动smplayer播放器

在上一步中,qt程序执行了

/opt/run_smplayer脚本,但这个脚本是不存在的,我们要新建它,打开开发板的/opt目录,新建一个run_smplayer文件,添加如下内容

#!/bin/sh

#测试用

#cd /opt/

#rm qt_create/

-rf

#sleep 3

#mkdir qt_create

#cd qt_create

#mkdir qt_create1

#cd qt_create1

#mkdir qt_create2

#cd qt_create2

#mkdir ok

#直接调用mplayer播放sdcard里的gq.avi文件

#cd /usr/local/smplayer/bin

#./mplayer /sdcard/gq.avi

#启动友善的smplayer

cd /usr/local/smplayer/bin

./smplayer

3、修改smplayer文件

在友善的根文件系统中,/user/lical/smplayer/bin目录中的smplayer脚本是有问题的,如果直接运行它,会出现鼠标和触摸屏

不能使用的情况,我们要将/bin目录下的smplayer脚本复制过来,并将最后两行中的qws去掉。(前面提到过的,我们要多任务运行,不需要再开一

个qws)

export HOME=/root

cd /usr/local/smplayer/

exe__c ./smplayer #-qws 1/dev/null

2/dev/null

// 此处有屏蔽字,真实没有下划线

#hotplug

4、修改rcS文件,使之开机就运行HelloQt4i程序

rcS文件如下:

#!

/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:

runlevel=S

prevlevel=N

umask 022

export PATH runlevel prevlevel

#

# Trap CTRL-C c

only in

this shell so we

can interrupt subprocesses.

#

trap ":" INT QUIT TSTP

/bin/hostname Crt

[ -e /proc/1 ]

||

/bin/mount -n -t proc none

/proc

[ -e /sys/class ] ||

/bin/mount -n -t sysfs none /sys

[ -e /dev/tty ]

||

/bin/mount

-t ramfs

none /dev

/bin/mount -n -t usbfs none

/proc/bus/usb

echo /sbin/mdev

/proc/sys/kernel/hotplug

/sbin/mdev -s

/bin/hotplug

# mounting file system specified in

/etc/fstab

mkdir -p /dev/pts

mkdir -p /dev/shm

/bin/mount -n -t devpts none

/dev/pts -o mode=0622

/bin/mount -n -t tmpfs tmpfs /dev/shm

/bin/mount

-n

-t ramfs

none /tmp

/bin/mount -n -t ramfs none

/var

mkdir -p /var/empty

mkdir -p /var/log

mkdir -p /var/lock

mkdir -p /var/run

mkdir -p /var/tmp

/sbin/hwclock -s

syslogd

/etc/rc.d/init.d/netd start

echo "

"

/dev/tty1

echo "Starting networking..."

/dev/tty1

sleep 1

/etc/rc.d/init.d/httpd start

echo "

"

/dev/tty1

echo "Starting web server..."

/dev/tty1

sleep 1

/etc/rc.d/init.d/leds start

echo "

"

/dev/tty1

echo "Starting leds service..."

/dev/tty1

echo "

"

sleep 1

echo "

"

/dev/tty1

/etc/rc.d/init.d/alsaconf start

echo "Loading sound card config..."

/dev/tty1

echo "

"

/sbin/ifconfig lo 127.0.0.1

/etc/init.d/ifconfig-eth0

#/bin/qt4

#echo "

"

/dev/tty1

#echo "Starting Qt4 Applications, please

waiting..."

/dev/tty1

#/bin/smplayer

#echo "

"

/dev/tty1

#echo "Starting smplayer Applications, please

waiting..."

/dev/tty1

/bin/hello_qt4app

echo "

"

/dev/tty1

echo "Starting

hello_qt4 Applications, please

waiting..."

/dev/tty1

hello_qt4app脚本如下:

#!/bin/sh

rm /root/.config/

-rf;

rm /root/.mplayer/

-rf;

if [ -e /etc/friendlyarm-ts-input.conf ] ; then

. /etc/friendlyarm-ts-input.conf

fi

true

${TSLIB_TSDEVICE:=/dev/touchscreen}

TSLIB_CONFFILE=/etc/ts.conf

export TSLIB_TSDEVICE

export TSLIB_CONFFILE

export TSLIB_PLUGINDIR=/usr/lib/ts

export TSLIB_CALIBFILE=/etc/pointercal

export QWS_DISPLAY=:1

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

export PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/usr/local/bin

if [ -c /dev/touchscreen ]; then

export

QWS_MOUSE_PROTO="Tslib:${TSLIB_TSDEVICE}

MouseMan:/dev/input/mice"

if [

-e

/etc/pointercal -a !

-s

/etc/pointercal ] ; then

rm

/etc/pointercal

fi

else

export

QWS_MOUSE_PROTO="MouseMan:/dev/input/mice"

/etc/pointercal

fi

export QWS_KEYBOARD=TTY:/dev/tty1

export HOME=/root

cd /opt

./hello_qt4

-qws

1/dev/null

2/dev/null

hotplug

然后,重启开发板,hello_qt4程序运行了,再点button,播放器也弹出来了。

pycharm + QT 及怎么运行调试

1、下载PyQt

操作系统是64位的,安装的是Python2.7.5,所以选择下载:PyQt4-4.10.3-gpl-Py2.7-Qt4.8.5-x64.exe

单击安装即可。

2、配置PyCharm

File -- Settings -- External Tools -- 单击“ADD”(加号图标) -- 弹出对话框,做如下设置

1).设置“Qt Designer”-- 这个主要用来设计 Qt界面

在Qt Designer的设置中,Program选择PyQt安装目录中 designer.exe 的路径

Work directory 使用变量$ProjectFileDir$(点击后面的 Insert macro 按钮可以不用输入双击上屏)

2).设置“PyUIC”-- 这个主要是用来将 Qt界面 转换成 py代码

在PyUIC的设置中,其他的都差不多,Program 写入Python的地址,Parameters写入

复制代码

代码如下:

D:\Python\Python27\Lib\site-packages\PyQT4\uic\pyuic.py $FileName$ -o $FileNameWithoutExtension$.py

把上面的Python路径修改成自己的即可!

Work directory 使用变量$ProjectFileDir$

运行调试程序,带着QtGui的程序,之前按照,调试的时候,打个断点,点击那个爬虫,下面观察变量。

ubuntu10.10下QT程序如何运行?

根据提示:add the "-qws" command-line option.加个“-qws"参数试试

如果还不行确认安装正确?

用什么包安装?安装方式贴出来,内核版本列出来,只有软件版本和发行版本不行,一般有些软件也要和内核版本对应

多参考(谷歌)


分享名称:qt怎么运行go语言,go+qt
地址分享:http://shouzuofang.com/article/heecog.html

其他资讯