TA的每日心情 | 奋斗 2015-9-2 01:25 |
---|
签到天数: 13 天 连续签到: 1 天 [LV.3]偶尔看看II
|
发表于 2015-7-17 00:15:28
|
显示全部楼层
本帖最后由 waytoanswer 于 2015-7-17 00:24 编辑
请教楼主,我参照你的方法建了个工程,添加了两个checkbox,控制两个LED,两个label显示LED状态,代码如下:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "wiringPi.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
wiringPiSetup();
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow:n_checkBox_LED1_stateChanged(int arg1)
{
if(arg1) {
ui->label->setText("on");
digitalWrite(0, LOW);
} else {
ui->label->setText("off");
digitalWrite(0, HIGH);
}
}
void MainWindow:n_checkBox_LED2_stateChanged(int arg1)
{
if(arg1) {
ui->label_2->setText("on");
digitalWrite(1, LOW);
} else {
ui->label_2->setText("off");
digitalWrite(1, HIGH);
}
}
编译没问题,但是用sudo执行生成的程序只能出来个窗口,checkbox和label显示不出来,同时控制台打印log
Release $ sudo ./HelloQT
X Error: BadAccess (attempt to access private resource denied) 10
Extension: 129 (MIT-SHM)
Minor opcode: 1 (X_ShmAttach)
Resource id: 0x2800001
X Error: BadShmSeg (invalid shared segment parameter) 128
Extension: 129 (MIT-SHM)
Minor opcode: 5 (X_ShmCreatePixmap)
Resource id: 0x280000c
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x280000d
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x280000d
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x280000d
去掉wiringPi相关的函数后运行,UI正常。
看上面的信息应该是wiringPi相关的资源访问被禁止了,不知道楼主有没有什么解决方法?(在不使用wiringPiSetupSys()和export GPIO的情况下) |
|