十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
能使用是能使用,但是我在使用的時(shí)候很奇怪,在程序運(yùn)行完成之后才把所有printf的語(yǔ)句打印出來(lái)。一般在qt中都使用qDebug。

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、成都做網(wǎng)站、壽光網(wǎng)絡(luò)推廣、小程序定制開(kāi)發(fā)、壽光網(wǎng)絡(luò)營(yíng)銷、壽光企業(yè)策劃、壽光品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供壽光建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
能啊 ,頭文件注意一下就好了。Qt 就是個(gè) C++ 類庫(kù),在 C++ 中怎么使用 C 語(yǔ)言里的東西,在 Qt 中同樣。
中國(guó)物聯(lián)網(wǎng)校企聯(lián)盟技術(shù)部
/********MyButton.h*********/
#ifndef MYBUTTON_H_
#define MYBUTTON_H_
#includeiostream
#include QtGui/QPushButton
#include QtGui/QWidget
class MyButton : public QPushButton
{
Q_OBJECT
public:
MyButton(const QString text, QWidget * parent);
~MyButton();
public:
void setLed(int argc, char *argv[]);
public slots:
void sendButtonText();
private:
signals:
void isClickButton(const QString text);
};
#endif
[cpp] view plain copy
/**********MyButton.cpp************/
#include "MyButton.h"
extern "C"{
#include stdio.h
#include stdlib.h
#include unistd.h
#include sys/ioctl.h
#includesys/types.h
#includesys/stat.h
#includefcntl.h
void MyButton::setLed(int argc, char *argv[]){
int on;
int led_number;
int fd;
if (argc != 3 || sscanf(argv[1], "%d", led_number) != 1 || sscanf(argv[2],"%d", on) != 1 ||
on 0 || on 1 || led_number 0 || led_number 3) {
fprintf(stderr, "Usage:\n");
fprintf(stderr, "\t led led_number on|off\n");
fprintf(stderr, "Options:\n");
fprintf(stderr, "\t led_number from 0 to 3\n");
fprintf(stderr, "\t on 1 off 0\n");
exit(1);
}
fd = open("/dev/led", 0);
if (fd 0) {
perror("open device /dev/led");
exit(1);
}
ioctl(fd, on, led_number);
::close(fd); //請(qǐng)注意,此處如果要調(diào)用C語(yǔ)言庫(kù)中的close()一定要加上“::",否則程序?qū)⒌疆?dāng)前類的作用域中尋找close()方法,導(dǎo)致不明錯(cuò)誤。
}
}
MyButton::MyButton(const QString text,QWidget *widget)
:QPushButton(text,widget)
{
connect(this,SIGNAL(clicked()),this,SLOT(sendButtonText()));
}
MyButton::~MyButton()
{
}
void MyButton::sendButtonText(){
emit isClickButton(this-text());
char open_1[]="1";
char open_2[]="1";
char open_3[]="1";
char *o1=open_1;
char *o2=open_2;
char *o3=open_3;
char close_1[]="1";
char close_2[]="1";
char close_3[]="0";
char *c1=close_1;
char *c2=close_2;
char *c3=close_3;
char *open[]={o1,o2,o3};
char *close[]={c1,c2,c3};
QString *str=new QString(this-text());
if((str-compare("mb1"))==0){
std::cout"mb1 is clicked!\n";
setLed(3,open);
}
if((str-compare("mb2"))==0){
std::cout"mb2 is clicked!\n";
setLed(3,close);
}
}