在我的应用程序中,我正在处理一个QCloseEvent(当按下关闭按钮X时):
void MainWindow::closeEvent(QCloseEvent* event)
{
if ( !isAbortedFilestoSave() ) {
this->close();
}
// else abort
}
当没有按下中止时,if子句被触发。我想实现一个其中QCloseEvent中止的else子句?怎么样?
答案 0 :(得分:1)
你必须使用事件上的close()
来“中止” - 让Qt知道你不希望小部件真正关闭。
如果事件的接收者同意关闭小部件,则isAccepted()函数返回true;如果此事件的接收者不希望关闭窗口小部件,则调用accept()同意关闭窗口小部件并调用ignore()。
此外,无需亲自致电void MainWindow::closeEvent(QCloseEvent* event)
{
// accept close event if are not aborted
event->setAccepted(!isAbortedFilestoSave());
}
- “X”按钮已经执行此操作,这就是您收到近距离活动的原因!
所以你的代码应该是:
XWikiXmlRpcClient rpc = new XWikiXmlRpcClient(url);
try {
//Perform Login & Authentication
rpc.login(user, pass);
//Create a Page object to hold our Document information
Page page = new Page();
//Fetch the required page. In our example, the page is in Space "demo code"
//and the Page is "Update Page"
page=rpc.getPage("demo code.Update Page");
//Fetch the content of the page & store it in a string for temporary storage
//This is the present content of the Page
String presentContent=page.getContent();
//Create a string that will hold the new content that is to be added to the Page
String newContent="\\\\Some new content added";
//Set the content of the page as: present content + new content
//However, this page is not yet stored to XWiki. It only resides in your application
page.setContent(presentContent+newContent);
//Finally, store the "updated" Page to XWiki
rpc.storePage(page);
//Just to make sure everything saved all right, fetch the content again for the Page
System.out.println(page.getContent());
} catch (XmlRpcException e) {
System.out.println("invalid username/password was specified or communication problem or ");
System.out.println(e);
} finally {
rpc.logout();
}