打印
[入门教程]

基于WINDOWS下的MinGW的Qt-4.7.4开发环境建立及测试

[复制链接]
楼主: 缥缈九哥
手机看帖
扫描二维码
随时随地手机跟帖
21
本帖最后由 lxyppc 于 2011-12-15 14:46 编辑

帮不上啥忙,帮你调了一下UI mainwindow.ui.zip (1.07 KB)
只修改了.ui文件,其它的文件没动
以前的代码在缩放时不能适应窗口大小的变化
缩小与放大窗口

调整后的代码
缩小与放大窗口

使用特权

评论回复
22
缥缈九哥|  楼主 | 2011-12-17 10:42 | 只看该作者
谢谢。非常感谢。。。

使用特权

评论回复
23
缥缈九哥|  楼主 | 2011-12-17 10:49 | 只看该作者
不过你修改的UI文件,感觉位置对齐有点乱了。或者说我的窗口直接禁止伸缩就好了。

使用特权

评论回复
24
mcs8098| | 2011-12-20 12:34 | 只看该作者
支持:loveliness:

使用特权

评论回复
25
缥缈九哥|  楼主 | 2011-12-29 17:53 | 只看该作者
不知道为什么,我做的ISP下载速度还是慢。我的等待超时及等待1MS源码如下 :
void sleep(unsigned int msec)
{
    QTime dieTime = QTime::currentTime().addMSecs(msec);
    while( QTime::currentTime() < dieTime )
    QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
}

qint8 MainWindow::wait_ack(uint ms ,qint8 ack)
{
    uint i=ms;
    while(i--)
    {
        sleep(1);
        QByteArray temp = myCom->readAll();
        if(!temp.isEmpty())
        {
            char *ch = temp.data();
            if(ch[0]==ack)  {return 1;}
            else
            if(ch[0]==0xff) {return 0;}
        }
    }
    return 0;
}

使用特权

评论回复
26
lxyppc| | 2011-12-30 09:45 | 只看该作者
不知道9G是如何操作COM口的,是同步的方式还是事件驱动的方式
这个wait_ack是运行在UI线程还是工作线程中
个人觉得用自定义的sleep函数不如Qt提供的sleep好用

使用特权

评论回复
27
缥缈九哥|  楼主 | 2011-12-30 15:01 | 只看该作者
QT的SLEEP怎么用?我的串口模式? 我的串口就是这么配置的,然后就是读和写了,感觉这串口慢。别人的ISP程序,下载64K才20多秒。我的要30多秒。郁闷中。
   if(myCom->open(QIODevice::ReadWrite)){
        ui->statusBar->showMessage(tr("成功打开串口 ") + portName);
    }else{

        QMessageBox::critical(this, tr("打开失败"), tr("未能打开串口 ") + portName + tr("\n该串口设备不存在或已被占用"), QMessageBox::Ok);
        //关闭串口
        myCom->close();
        delete myCom;
        ui->statusBar->showMessage(tr("关闭串口")+ portName);
        return;
    }

    //设置数据位
    myCom->setDataBits(DATA_8);
    //设置校验
    myCom->setParity(PAR_NONE);
    //设置停止位
    myCom->setStopBits(STOP_1);
    //数据流控制设置
    myCom->setFlowControl(FLOW_OFF);

do_all_again:
    //设置波特率
    myCom->setBaudRate(BAUD9600);

使用特权

评论回复
28
e2zone| | 2012-1-4 22:52 | 只看该作者
牛X!

使用特权

评论回复
29
缥缈九哥|  楼主 | 2012-1-9 16:56 | 只看该作者
wait_ack(uint ms ,qint8 ack)
等待时间太长了,为知道怎么改架构才对。

使用特权

评论回复
30
lwslws201| | 2012-1-9 19:32 | 只看该作者
:victory: 顶呀!

使用特权

评论回复
31
江枫渔火| | 2012-1-9 21:10 | 只看该作者
霸气外露
用QT应该还有个好处,移植性比VC好~
QT本是LINUX世界的玩物~

使用特权

评论回复
32
yulri| | 2012-2-9 14:15 | 只看该作者
先记下了!!

使用特权

评论回复
33
王紫豪| | 2012-3-19 01:04 | 只看该作者
QT非常不错,支持下

使用特权

评论回复
34
缥缈九哥|  楼主 | 2012-3-19 10:02 | 只看该作者
有人告诉一下我如何 才能加快速度吗?这个睡眠太浪费时间了。

void sleep(unsigned int msec)
{
    QTime dieTime = QTime::currentTime().addMSecs(msec);
    while( QTime::currentTime() < dieTime )
    QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
}

使用特权

评论回复
35
缥缈九哥|  楼主 | 2012-3-29 22:09 | 只看该作者
好久没有玩QT了,谁介绍一个开发QT的HID驱动的例子?

使用特权

评论回复
36
呆板书生| | 2012-3-29 22:10 | 只看该作者
顶,准备学习学习

使用特权

评论回复
37
lxyppc| | 2012-3-30 12:17 | 只看该作者
好久没有玩QT了,谁介绍一个开发QT的HID驱动的例子?
缥缈九哥 发表于 2012-3-29 22:09

HID在Windows下面调用SetupAPI相关的函数就可以了

使用特权

评论回复
38
缥缈九哥|  楼主 | 2012-3-31 01:24 | 只看该作者
谢谢lxyppc。

使用特权

评论回复
39
jinjing999| | 2012-6-21 16:35 | 只看该作者
楼主威猛。留下脚印

使用特权

评论回复
40
缥缈九哥|  楼主 | 2012-10-28 11:28 | 只看该作者
好久没有玩QT了,差不多忘记了。重新温习一下。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则