Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在Blackberry Cascades中显示带有特定号码的电话簿 错误(){ 案例InvokeReplyError::BadRequest: qDebug(“[ErrorBadRequest]调用失败!”); 打破 案例InvokeReplyError::内部: qDebug(“[ErrorInternal]调用失败!”); 打破 case InvokeReplyError::NoTarget: qDebug(“[ErrorNotTarget]调用失败!”); 打破 案例InvokeReplyError::TargetNotOwned: qDebug(“[ErrorTargetNotOwned]调用失败”); 打破 违约: qDebug(“奇数错误%d]调用失败”,回复->错误(); 打破 } reply->deleteLater();//稍后删除回复 } void Foo::callNumber(常量QString和number){ qp地图; map.insert(“number”,number);//必需 QByteArray requestData=bb::PpsObject::encode(映射,空); 调用请求; request.setAction(“bb.action.DIAL”); request.setData(requestData); request.setMimeType(“application/vnd.blackberry.phone.startcall”); const InvokeTargetReply*reply=\u invokeManager->invoke(请求); 若有(答复){ 连接(应答,信号(finished()),这个,插槽(processInvokeReply()); }否则{ qWarning()setContextProperty(“\u foo”,“\u foo”);_C++_Qt_Qml_Blackberry 10_Blackberry Cascades - Fatal编程技术网

C++ 如何在Blackberry Cascades中显示带有特定号码的电话簿 错误(){ 案例InvokeReplyError::BadRequest: qDebug(“[ErrorBadRequest]调用失败!”); 打破 案例InvokeReplyError::内部: qDebug(“[ErrorInternal]调用失败!”); 打破 case InvokeReplyError::NoTarget: qDebug(“[ErrorNotTarget]调用失败!”); 打破 案例InvokeReplyError::TargetNotOwned: qDebug(“[ErrorTargetNotOwned]调用失败”); 打破 违约: qDebug(“奇数错误%d]调用失败”,回复->错误(); 打破 } reply->deleteLater();//稍后删除回复 } void Foo::callNumber(常量QString和number){ qp地图; map.insert(“number”,number);//必需 QByteArray requestData=bb::PpsObject::encode(映射,空); 调用请求; request.setAction(“bb.action.DIAL”); request.setData(requestData); request.setMimeType(“application/vnd.blackberry.phone.startcall”); const InvokeTargetReply*reply=\u invokeManager->invoke(请求); 若有(答复){ 连接(应答,信号(finished()),这个,插槽(processInvokeReply()); }否则{ qWarning()setContextProperty(“\u foo”,“\u foo”);

C++ 如何在Blackberry Cascades中显示带有特定号码的电话簿 错误(){ 案例InvokeReplyError::BadRequest: qDebug(“[ErrorBadRequest]调用失败!”); 打破 案例InvokeReplyError::内部: qDebug(“[ErrorInternal]调用失败!”); 打破 case InvokeReplyError::NoTarget: qDebug(“[ErrorNotTarget]调用失败!”); 打破 案例InvokeReplyError::TargetNotOwned: qDebug(“[ErrorTargetNotOwned]调用失败”); 打破 违约: qDebug(“奇数错误%d]调用失败”,回复->错误(); 打破 } reply->deleteLater();//稍后删除回复 } void Foo::callNumber(常量QString和number){ qp地图; map.insert(“number”,number);//必需 QByteArray requestData=bb::PpsObject::encode(映射,空); 调用请求; request.setAction(“bb.action.DIAL”); request.setData(requestData); request.setMimeType(“application/vnd.blackberry.phone.startcall”); const InvokeTargetReply*reply=\u invokeManager->invoke(请求); 若有(答复){ 连接(应答,信号(finished()),这个,插槽(processInvokeReply()); }否则{ qWarning()setContextProperty(“\u foo”,“\u foo”);,c++,qt,qml,blackberry-10,blackberry-cascades,C++,Qt,Qml,Blackberry 10,Blackberry Cascades,我有: 我有: void Foo::phone(QString number) { bb::system::phone::Phone phone; phone.requestDialpad(number, bb::system::phone::LineType::Cellular); } 但是当我点击按钮时,它什么也不做——我需要显示拨号板——有人知道我做错了什么吗?将你的类Foo的代码更改为以下代码: 福岛水电站 #如果是福乌水电站_ #定义FOO_水电站_ #包括 #包括

我有:

我有:

void Foo::phone(QString number) {
    bb::system::phone::Phone phone;
    phone.requestDialpad(number, bb::system::phone::LineType::Cellular);
}

但是当我点击按钮时,它什么也不做——我需要显示拨号板——有人知道我做错了什么吗?

将你的类Foo的代码更改为以下代码:

福岛水电站

#如果是福乌水电站_
#定义FOO_水电站_
#包括
#包括
Foo类:公共QoObject{
Q_对象
公众:
Foo();
虚拟~Foo();
Q_可调用的void callNumber(常量QString&number);
专用Q_插槽:
void processInvokeReply();//此插槽处理调用的结果
私人:
bb::system::InvokeManager*\u InvokeManager;
Q_禁用_复制(Foo);
};
#endif/*FOO_水电站*/
Foo.cpp:

#包括
#包括
#包括
#包括
#包括
#包括“Foo.hpp”
Foo::Foo():
_invokeManager(新invokeManager(此)){
}
Foo::~Foo(){
}
void Foo::processInvokeReply(){
InvokeReply*reply=qobject_cast(sender());//从sender对象获取回复
//在调用期间检查错误
开关(应答->错误(){
案例InvokeReplyError::BadRequest:
qDebug(“[ErrorBadRequest]调用失败!”);
打破
案例InvokeReplyError::内部:
qDebug(“[ErrorInternal]调用失败!”);
打破
case InvokeReplyError::NoTarget:
qDebug(“[ErrorNotTarget]调用失败!”);
打破
案例InvokeReplyError::TargetNotOwned:
qDebug(“[ErrorTargetNotOwned]调用失败”);
打破
违约:
qDebug(“奇数错误%d]调用失败”,回复->错误();
打破
}
reply->deleteLater();//稍后删除回复
}
void Foo::callNumber(常量QString和number){
qp地图;
map.insert(“number”,number);//必需
QByteArray requestData=bb::PpsObject::encode(映射,空);
调用请求;
request.setAction(“bb.action.DIAL”);
request.setData(requestData);
request.setMimeType(“application/vnd.blackberry.phone.startcall”);
const InvokeTargetReply*reply=\u invokeManager->invoke(请求);
若有(答复){
连接(应答,信号(finished()),这个,插槽(processInvokeReply());
}否则{
qWarning()setContextProperty(“\u foo”,“\u foo”);
然后在QML中使用它,如下所示:

Button {
    onClicked: {
        _foo.callNumber("555-555-5555")
    }
}
添加:

此外,还有一种更简单的方法:

在main.cpp中:

#包括
#包括
//跳过。。。
Q_DECL_导出int main(int argc,字符**argv)
{
//…跳过
qmlRegisterType(“bb.system.phone”,1,0,“phone”);
bb::data::DataSource::registerQmlTypes();
//…跳过
}
然后在QML文件中:

import bb.cascades 1.0
import bb.system.phone 1.0

// Creates one page with a button. When you tap the button,
// a dial pad with a specific phone number is displayed.

Page {
    Container {
        layout: DockLayout {
        }
        verticalAlignment: VerticalAlignment.Center
        horizontalAlignment: HorizontalAlignment.Center

        Button {
            id: callButton
            text: "Call me, maybe"

            onClicked: {
                phone.requestDialpad("(519) 555-0100")
            }
        }
    }
    attachedObjects: [
        Phone {
            id: phone
        }
    ]
}

请在此处阅读有关此示例的更多信息-

如果您想知道,phone所在的同一类中的其他Q_可调用成员函数可以从phone所在的同一qml文档中调用,那么这不是类没有通过特定变量注册到该特定qml文档的问题,也不是没有使用装配的问题ht变量名引用onClicked事件句柄中qml中的该类您是否使用
qmlRegisterType
使Foo类可用于qml?是的,我使用的是qmlRegisterType
import bb.cascades 1.0
import bb.system.phone 1.0

// Creates one page with a button. When you tap the button,
// a dial pad with a specific phone number is displayed.

Page {
    Container {
        layout: DockLayout {
        }
        verticalAlignment: VerticalAlignment.Center
        horizontalAlignment: HorizontalAlignment.Center

        Button {
            id: callButton
            text: "Call me, maybe"

            onClicked: {
                phone.requestDialpad("(519) 555-0100")
            }
        }
    }
    attachedObjects: [
        Phone {
            id: phone
        }
    ]
}