aa304037208 发表于 2018-6-19 09:29:41

qt5.6应用程序

本帖最后由 aa304037208 于 2018-6-27 14:39 编辑

在6q-c上运行了linux4.1.15,编译了一个qt程序参照使用说明要设置环境变量export DISPLAY=:0.0,然后可以运行,但是有标题栏这些,我想不要桌面系统,参照手册把文件/etc/matchbox/session里面注释掉了桌面系统,然后重新启动后设置环境边境变量后运行程序./test,打印消息:QXcbconnection:could not to display:0.0 Aborted,请问是不是还需要设置什么啊?谢谢!




怎么去掉上面的红框。我想要全屏显示。


感觉这个框和matchbox-window-manager有关,但是不知道怎么去掉。。。

Marss 发表于 2018-6-20 09:48:22

此类问题可以归结于:在非图形终端执行了一个GUI,需要手动指定X11Server把图形显示到其他的带图形界面的终端。https://blog.csdn.net/u011728480/article/details/66974510你看一下这个,添加这个变量试一下

aa304037208 发表于 2018-6-26 21:09:21

Marss 发表于 2018-6-20 09:48
此类问题可以归结于:在非图形终端执行了一个GUI,需要手动指定X11Server把图形显示到其他的带图形界面的终 ...

嗯,这个试过了,用桌面系统的话上面总会有标题栏,我想去掉这个有办法吗?谢谢!(如上图的红框)

Marss 发表于 2018-6-27 08:25:55

找一下这条语句注释
ui(new Ui::Widget)
{
        this->setWindowFlags(Qt::FramelessWindowHint);//去掉标题栏
        ui->setupUi(this);
}

aa304037208 发表于 2018-6-27 14:43:49

Marss 发表于 2018-6-27 08:25
找一下这条语句注释
ui(new Ui::Widget)
{


这个是qt新建工程后自带的设置,我去掉后还是有这个标题栏,如上图(test2是工程名字),感觉和matchbox-window-manager这个有关,但是试过一些方法不知道怎么去掉,我的/etc/matchbox/session得配置如下:(matchbox-desktop 和matchbox-panel我都注释掉了)
#!/bin/sh

. /etc/formfactor/config

if [ "$HAVE_TOUCHSCREEN" = "1" ]; then
    SHOWCURSOR="no"
else
    SHOWCURSOR="yes"
fi

if [ "$HAVE_KEYBOARD" = "1" ]; then
    KEYBOARD_APPLET=""
else
    KEYBOARD_APPLET="keyboard"
fi

# Tell GTK+3 we really want server side decorations, even with
# GtkHeaderBar using applications: Without that mb-panel will render
# on top of the client side decorations.
export GTK_CSD=0

#matchbox-desktop &
/pul/test2 &
# Lines containing feature- are removed at build time if the machine
# doesn't have the feature "foo".

START_APPLETS=showdesktop,windowselector
END_APPLETS=clock,battery,$KEYBOARD_APPLET,systray,startup-notify,notify

#matchbox-panel --titlebar --start-applets $START_APPLETS --end-applets $END_APPLETS &

exec matchbox-window-manager
#exec matchbox-window-manager -theme Sato -use_desktop_mode decorated -use_cursor $SHOWCURSOR $@

Marss 发表于 2018-6-27 17:33:00

之前我做全屏显示一个是main.cpp里面
   show();
   改为:
   showFullScreen()
你看下试用不。

aa304037208 发表于 2018-6-28 14:23:36

Marss 发表于 2018-6-27 17:33
之前我做全屏显示一个是main.cpp里面
   show();
   改为:


这个方法可以了,多谢!:handshake

Marss 发表于 2018-6-28 15:26:02

您这是自己做的qt应用程序,显示绿条吗?
我觉得全屏只是当前应用程序把它覆盖了,如果你做别的应用程序想要同样效果还是要修改这个。
应该还有办法去掉绿条。

aa304037208 发表于 2018-7-1 10:41:22

Marss 发表于 2018-6-28 15:26
您这是自己做的qt应用程序,显示绿条吗?
我觉得全屏只是当前应用程序把它覆盖了,如果你做别的应用程序想 ...

是的,自己的qt程序,不想要这个桌面管理系统的绿条,但不知道怎么搞掉:L,查了一些资料是用matchbox这个工具来管理界面的,还有Xserver这些东西,试过加一些配置选项但是这个绿条还是去不了,也试过全部注释掉session配置关于matchbox的所有东西,启动后引入DISPLAY变量后完全就不能显示了,所以一时半会不知道怎么搞,感觉还要好好研究下这个matchbox才行。
页: [1]
查看完整版本: qt5.6应用程序