Qt CKEditor:从javascript执行工具栏按钮
这是我的问题:我正在QT程序中集成CKEditor。我想在我的程序中创建一些函数来执行CKEditor工具栏中的一些命令。例如,我需要一个函数“bold()”将该样式应用于所选文本。这就是我迄今为止为实现这一目标所做的工作:Qt CKEditor:从javascript执行工具栏按钮,qt,ckeditor,Qt,Ckeditor,这是我的问题:我正在QT程序中集成CKEditor。我想在我的程序中创建一些函数来执行CKEditor工具栏中的一些命令。例如,我需要一个函数“bold()”将该样式应用于所选文本。这就是我迄今为止为实现这一目标所做的工作: void On_ActionBold_Triggered() { this->page()->mainFrame()->evaluateJavaScript("var editor = CKEDITOR.currentInstanc
void On_ActionBold_Triggered()
{
this->page()->mainFrame()->evaluateJavaScript("var editor = CKEDITOR.currentInstance;"
"var style = new CKEDITOR.style( { element: 'strong', overrides: 'b' } );"
"if ( style.checkActive(editor.elementPath(), editor ) )"
"editor.removeStyle( style );"
"else if ( !style.checkActive(editor.elementPath(), editor ) )"
"editor.applyStyle( style );");
}
这将使用CKEditor中的函数“applyStyle()。但是我必须实现一些条件来检查所选文本是否已经具有样式,以便根据情况应用或删除样式。使用“粗体”按钮,这非常简单。但是对于其他一些按钮,它将不会如此简单,我试图避免重新实现所有按钮功能的麻烦。我想知道是否有更直接的方法来构造这个函数。大概是这样的:
void On_ActionBold_Triggered()
{
this->page()->mainFrame()->evaluateJavaScript("var editor = CKEDITOR.currentInstance;"
"editor.executeWhateverCommandIsAssociattedWithTheBoldButtonInToolbar();");
}
有没有办法做到这一点?我想另一种选择是查看CKEditor的源代码,简单地复制并粘贴不同按钮的函数实现。但是我仍然没有找到源代码中不同按钮的功能实现。。。如有任何建议,将不胜感激
更新:
我最终找到了问题的解决办法。我现在是这样做的:
void CKEditor_Bold(){this->page()->mainFrame()->evaluateJavaScript("CKEDITOR.currentInstance.execCommand('bold');");}