如何在页面中关闭当前tab

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在页面中关闭当前tab相关的知识,希望对你有一定的参考价值。

不是很明白你的意思,快捷关闭当前页面的话按alt+F4键。如果是按tab才能开机的话就这样:开机按DEL键,进入bios设置。找一个选项,名字中有LOGO这四个字母。然后呢,将此项设置为disable。 参考技术A self.close();

如何在qml中关闭工作表?

【中文标题】如何在qml中关闭工作表?【英文标题】:How to close the sheet in in qml? 【发布时间】:2013-08-06 10:57:10 【问题描述】:

我想在用户单击应用程序图标时显示一个启动页面。为此,我创建了工作表并附加到页面。 ma​​in.qml

import bb.cascades 1.0

Page 
    Container 
        Label 
            text: "Home page"
            verticalAlignment: VerticalAlignment.Center
            horizontalAlignment: HorizontalAlignment.Center
        
    
    attachedObjects: [
        Sheet 
            id: mySheet
            content: Page 
                Label 
                    text: "Splash Page / Sheet."
                
            
        
    ]//end of attached objects
    onCreationCompleted: 

        //open the sheet
        mySheet.open();

        //After that doing some task here.
       ---------
       ---------
       ---------

       //Now I'm closing the Sheet. But the Sheet was not closed.
       //It is showing the Sheet/Splash Page only, not the Home Page
       mySheet.close();
    
//end of page

工作完成后,我想关闭工作表。所以我调用了close()方法。但是Sheet没有关闭。

如何在 oncreationCompleted() 方法或任何 c++ 方法中关闭工作表?

【问题讨论】:

您是否尝试在mySheet.close(); 之前/之后添加日志,以确保您可以访问它? 是的,我已经测试过了,它也在打印日志消息。 您的任务需要多长时间?当您尝试关闭工作表时,可能尚未完全打开工作表(动画可能未结束)。 我是 cascades 框架和 c++ 的新手。截至目前,我在打开工作表后没有做任何任务。只需打开工作表并关闭工作表。现在我试图在打开后关闭工作表。我已成功打开工作表,但无法关闭工作表。您能否建议我如何从 qml 或从 c++ 函数关闭工作表。 我想那是你的问题。我认为您必须等待opened() (developer.blackberry.com/cascades/reference/…) 信号发出,然后才能关闭您的Sheet 【参考方案1】:

您正试图在打开完成之前关闭Sheet(动画仍在运行),因此关闭请求被它忽略。您必须监视动画的结束(opened() 信号)才能知道您的Sheet 是否已打开。我会这样做:

import bb.cascades 1.0

Page 
    Container 
        Label 
            text: "Home page"
            verticalAlignment: VerticalAlignment.Center
            horizontalAlignment: HorizontalAlignment.Center
        
    
    attachedObjects: [
        Sheet 
            id: mySheet
            property finished bool: false
            content: Page 
                Label 
                    text: "Splash Page / Sheet."
                
            
            // We request a close if the task is finished once the opening is complete
            onOpened: 
                if (finished) 
                    close();
                
            
        
    ]//end of attached objects
    onCreationCompleted: 

        //open the sheet
        mySheet.open();

        //After that doing some task here.
       ---------
       ---------
       ---------

       //Now I'm closing the Sheet. But the Sheet was not closed.
       //It is showing the Sheet/Splash Page only, not the Home Page
       mySheet.finished = true;
       // If the Sheet is opened, we close it
       if (mySheet.opened) 
           mySheet.close();
       
    
//end of page

【讨论】:

请注意,对于某些操作系统,此信号不会发送。我必须使用 QTimer 并检查“isOpened()”状态以手动关闭它 我没有直接在 onOpened() 方法中关闭工作表,而是按照您在代码中提到的那样进行了尝试。然后工作表没有关闭。 添加console.log("onOpened");确保调用此插槽

以上是关于如何在页面中关闭当前tab的主要内容,如果未能解决你的问题,请参考以下文章

eclipse如何在workspace中关闭、打开project?

如何在qml中关闭工作表?

iOS如何在 NSViewControllerNSView 中关闭当前 NSWindowController ?

如何在java中关闭当前工作目录(不是完整路径)[关闭]

在flutter中关闭endDrawer后如何运行功能

如何使用 VBA 在 Access 中关闭单个表单实例?