我正在使用Cascades为Blackberry 10进行开发,其中包括QT和QML.我发现我有时会在我的QML文件中出错,但是在编译时它们没有被提取.如何检查我是否出现语法错误,错误命名函数调用或其他典型错误?
我正在使用Web服务开发BB-10应用程序.在这里我想在get和post方法中解析JSON,我想检查Internet的可用性.
我怎样才能做到这一点?
关于这一点我正在圈子里跑来跑去.只是无法绕过信号和插槽.
只是寻找一些机制,可以在我的C++中发出信号时自动更新我的UI.
例:
我在Qml中有两个带有text:_app.method的标签,它返回一个值.
我有一个按钮,onClicked运行Q_INVOKABLE方法.该方法在完成时发出信号,例如,获取地理坐标并更新上述文本:赋值所依赖的值.
我想要的是SOMETHING更新文本:一旦这些值改变就分配.
我只需要清楚地解释这些信号/插槽.文档中的唯一示例似乎只假设QML或C++,而不是两者的混合.示例代码包含示例,但未在文档中具体说明.
如果你有简单的描述,我相信我可以适应它.例如,1:在QML中定义,2:在hpp文件中定义,3:在cpp文件中定义这些.
我尝试过使用QObject的setPropery("text","value"),但尝试此操作时我的应用程序崩溃了.
告诉我,如果我错了......
1)在QML中:
Button {
id: aButton
text: _app.value
onClicked: {
_app.valueChanged.connect(aButton.onValueChanged);
_app.value = _app.value + 1;
}
function onValueChanged (val) {
aButton.text = "New value: " + val;
}
}
Run Code Online (Sandbox Code Playgroud)
2)在HPP中:
Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged)
public:
int value();
void setValue(int i);
signals:
void valueChanged(int);
private:
int m_iValue;
Run Code Online (Sandbox Code Playgroud)
3)在CPP中:
int class::value()
{
return m_iValue;
}
void class::setValue(int i)
{
// name is same as HPP WRITE Q_PROPERTY statement …
Run Code Online (Sandbox Code Playgroud) 我正在使用QNX的时刻进行黑莓开发.问题是每当我下载任何示例代码并在Simulator上运行它.然后错误来找我.
当我清理项目时,它给我错误
**** Clean-only build of configuration Simulator-Debug for project list ****
make -j4 clean
make: *** No rule to make target `clean'. Stop.
**** Build Finished ****
Run Code Online (Sandbox Code Playgroud)
在构建项目时它给了我
**** Build of configuration Simulator-Debug for project list ****
make -j4 Device-Debug
make: *** No rule to make target `Device-Debug'. Stop.
**** Build Finished ****
Run Code Online (Sandbox Code Playgroud)
这些错误不允许我运行任何示例代码.请任何人告诉我如何解决这个问题.我已将目标设置为Simulator-Debug.
blackberry-simulator blackberry-eclipse-plugin blackberry-10 blackberry-cascades blackberry-qnx
我有一个listview,以50个项目开始,我想在用户滚动列表时添加更多内容,但是在它们到达列表末尾之前.我一直在使用atEnd属性知道我什么时候在列表末尾,并在那时添加更多项目,但我宁愿在我50%时开始添加新项目 - 75%的方式通过列表,以便用户不太可能等待更多数据
我正在尝试使用bb:system :: screenshot
request.setTarget("sys.pim.uib.email.previewer");
// Set the action that the target app should execute
request.setAction("bb.action.VIEW");
// Set the MIME type of the data
request.setMimeType("message/rfc822");
// Specify the location of the data
request.setUri(QUrl("pim:message/rfc822:" + QString::number(accountId) +":" + QString::number(messageId)));
InvokeTargetReply *reply = invokeManager.invoke(request);
sleep( 2 );
//Screenshot
bb::system::Screenshot screenshot;
QString filename = screenshot.captureDisplay();
if (filename.isEmpty()) {
// Something went wrong
bb::system::ScreenshotError::Type error = screenshot.error();
}
//Close Email
invokeManager.closeChildCard();
Run Code Online (Sandbox Code Playgroud)
问题是文件名始终为空,screenshot.error()始终具有错误值.以下是调试器在"出错"行中所说的内容:
screenshot.error()错误:报告了多个错误.\无法执行MI命令:-var-create - *screenshot.error()来自调试器后端的错误消息:无法找到方法bb :: system :: screenshot ::错误\无法创建变量对象
不确定这意味着什么?
编辑:我在if语句之外移动了屏幕截图变量定义并看到此错误:
Name : error …
Run Code Online (Sandbox Code Playgroud) 我试图通过挂钩到我的QML中按钮的clicked()插槽来从我的C++代码启动一个不同的QML页面,但它不起作用.
Button {
objectName: btnLogin
text: qsTr("Login")
id: btnLogin
}
Run Code Online (Sandbox Code Playgroud)
和c ++
QObject *newButton = root->findChild<QObject*>("btnLogin");
QObject::connect(newButton, SIGNAL(clicked()), this, SLOT(loginClick()));
Run Code Online (Sandbox Code Playgroud)
我的hpp文件中的插槽:
public slots:
void loginClick();
Run Code Online (Sandbox Code Playgroud)
我点击的方法:
void GConnectBB::loginClick() {
int i = 0;
Button *newButton = root->findChild<Button*>("btnLogin");
if (newButton)
newButton->setProperty("text", "New button text");
}
QObject *newButton = root->findChild<QObject*>("btnLogin");
Run Code Online (Sandbox Code Playgroud)
检查调试器时为null.我对C++非常生疏,对Qt来说是全新的,请温柔:)我能做错什么?
我在BB 10的git hub中发现了一个用于发送电子邮件的示例,但它看起来非常复杂并且很多用C语言完成.
有没有人有一个如何使用QML发送快速电子邮件的例子.我不需要任何按钮或文本字段,只需要硬编码值.
我找到了这个简单的剪辑,但不知道如何整合它.
https://developer.blackberry.com/cascades/documentation/device_platform/pim/messages.html
任何帮助,将不胜感激.
我正在设计一个应用程序,需要用Image替换TextArea中的一些文本.例如,如果我输入原生联系人列表中存在的电话号码,我需要将文本区域上的文本替换为图像,并能够添加更多电话号码(附加的图像说明了该过程).这是本机消息传递应用程序,但我找不到在Cascades中执行此操作的API.
谢谢您的帮助.
我想为BB10原生应用程序编译OpenCV v2.4.11
我尝试了什么:Track 1:使用已经构建的OpenCV 2.4.11的Android版本.在解决了所有动态链接之后,我只能在内核中遇到一些链接错误(在一些关于尚未实现的评论和一些道歉的情况下找到一些标题).Erros:对'bsd_signal'的未定义引用
对'pthread_getattr_np'的未定义引用
未定义的引用`setjmp'
Track 2:为Blackberry编译OpenCV 2.4.11.我无法链接反对捆绑在一起的ndk.
任何帮助/知识/个人经验将不胜感激!
opencv blackberry blackberry-10 blackberry-cascades blackberry-c++