• 5177阅读
  • 2回复

[提问]誰會適調這段程式碼,然後顯示在LineEdit? [复制链接]

上一主题 下一主题
离线qoo0707q
 
只看楼主 倒序阅读 楼主  发表于: 2012-11-09

int fd;
struct termios oldtio,newtio;
(省略其他宣告)
______________________________________________________________________________________________________________
if (fd < 0)
    {
        ui->GpsReceive->setText("error !!");
     }
    fd = ::open(myCom,O_RDWR|O_NOCTTY); //啟動串列埠
    tcgetattr(fd,&oldtio); // save current port settings
    bzero(&newtio, sizeof(newtio));


//newtio.c_cflag = BAUDRATE |CS8 | CLOCAL | CREAD | HUPCL;
newtio.c_cflag = myBuad | CRTSCTS | myByte | STOPBITS | ParityON | myParity | CLOCAL | CREAD;//控制模式,myBuad(B4800),myByte(CS8)
    newtio.c_iflag = IGNPAR; //忽略同位檢查
    newtio.c_oflag = 0;          //沒有輸出
    newtio.c_lflag = ICANON; //正規畫


    tcflush(fd, TCIFLUSH); //利用tcflush函式,清除終端設備內的緩衝區所有資料
    tcsetattr(fd,TCSANOW,&newtio); //利用tcsetattr函式,初始化所有指定之終端設備


    ui->GpsReceive->setText("opencom start"); //程式執行完畢 在GpsReceive與GpsReceive_2 這兩個輸出欄印出  [opencom end]
    ui->GpsReceive_2->setText("opencom start");
}


小弟我想知道這段程式碼的函數返回值是否是我想要的

    tcflush(fd, TCIFLUSH);
    tcsetattr(fd,TCSANOW,&newtio);


我要怎樣寫段程式碼才能讓返回值在我的LineEdit上顯示出來
如此我才能知道"串口是否有被正确打开了"
有哪位高手可以教我如何適調??
离线liuxu_lx7
只看该作者 1楼 发表于: 2012-11-09
回 楼主(qoo0707q) 的帖子
説實話,沒太看懂你的提問。所以問你幾個問題:
1, 你說的【讓返回值在我的LineEdit上】,這個LineEdit在你給出的代碼中么?我感覺它是你代碼中的【ui->GpsReceive】或【ui->GpsReceive2】。但是,如果我猜對了,那麽你要的功能已經有了,它就是【ui->GpsReceive->setText】(2句),只是在代碼中沒有看到它們調用show()函數(or方法)。
2,如果我猜錯了,那我想你清楚的告訴我,你要顯示你代碼中的哪個變量?和你要顯示的LineEdit是在哪(也許你代碼中沒有出現它)。

友情提示:這裏沒人回複你,大多因為這裏基本都是【大陸】人,對看繁體字比較不爽,所以,如果你方便的,最好使用【簡體中文】,若你不太會,只需要切換輸入法,就算寫錯字,大家也能理解(我就是用這方法回複你的。也不清楚自己有沒有打錯字,不過相信你理解。)
离线roywillow

只看该作者 2楼 发表于: 2012-11-09
总感觉你的问题好像不在Qt上……
如果想让返回值显示出来,将返回值转换为QString然后设置到edit上就可以了吧
另外你用的lineEdit?只要显示一行吗?多行的话可以考虑QTextEdit,这东西调用append()添加新段落很方便
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个