• 3380阅读
  • 6回复

求解决方案 [复制链接]

上一主题 下一主题
离线sakiola
 
只看楼主 倒序阅读 楼主  发表于: 2009-07-20
初识QT  尝试自己练习 请达人指点

我想做一个类似手机的界面 上边下边各一个类似工具栏的地方 中间是主显示区域

问题:要是我在工具栏相应位置刷上新时间等一些随机信息的时候

      1.会不会因为我做出来的主显示区域是模态对话框 而造成修改成功却不能立即刷新?

      2.这样的话,是不是要把创建上边和下边的工具栏用QT线程做?

      3.能指点下:创建工具栏应该在run里吗?创建线程应该放在main里吗?

因为有被提示 It 's not safe to use pixmaps outside the GUI thread 而我用线程创建的小工具条也在出来之前就被kill掉了 所以现在很迷茫 不知道是不是线程创建的位置有讲究?
[ 此帖被sakiola在2009-07-20 17:51重新编辑 ]
NB才是王道
离线sakiola
只看该作者 1楼 发表于: 2009-07-20
之前的尝试是这样的

我先创建了主界面

然后再主界面的构造函数中 创建并启动了线程

而线程是用来创建上边的工具栏的

在这种情况下报错如下:

QThread : Destroyed while thread is still running
QPixmap: It is not safe to use pixmap outside the GUI thread

是我弄的顺序还是创建位置上有问题吗?
NB才是王道
离线landuochong

只看该作者 2楼 发表于: 2009-07-20
为何不多继承
离线sakiola
只看该作者 3楼 发表于: 2009-07-21
引用第2楼landuochong于2009-07-20 18:03发表的  :
为何不多继承

刚刚接触C++和QT 还没那么高深呢 都没想到会有多继承的东西 我去看看咯~ TKS 不好用再回来~
NB才是王道
离线sakiola
只看该作者 4楼 发表于: 2009-07-21
突然想起来了!上边的问题 没人解答呢 还是再困惑中 请哪位 帮忙下 ~ 何以会有那样的错误提示
NB才是王道
离线sakiola
只看该作者 5楼 发表于: 2009-07-21
难道说 在QT中的QThread就是不可以在它的run里创建窗口的吗?
NB才是王道
离线sakiola
只看该作者 6楼 发表于: 2009-07-21
简单叙述下:

首先
    QT中的widget创建貌似和minigui里的不太一样
    貌似不用自己指定用线程做就直接转为线程在创建了
    所以无须用我所谓的方法
再次
    QT的thread的run方法听说是不可以调用pixmap的(shiroki版大所讲)
    个人觉得当你在run里开了一个窗口之后 默认的会导致“无人看管”
    所以会出现我上边的错误
    可以确定的是 *确实不能在run里创建*可以单独创建单独控件实现我所需要的功能*
NB才是王道
快速回复
限100 字节
 
上一个 下一个