精华内容
下载资源
问答
  • 2014-06-04 16:09:00

    今天在调试程序的时候发现一个问题,调用close槽函数关闭widget后,反复重新打开这个widget会变得很慢,查看资源管理器发现进程的内存未被释放。之前一直以为调用close函数后new的对象都会被自动delete掉,看来不是这样。

    查看了qt帮助文档,

    QWidget::close () [slot]

    有这么一段话

        First it sends the widget a QCloseEvent. The widget is hidden if it accepts the close event. 
        If it ignores the event, nothing happens. The default implementation of QWidget::closeEvent() accepts the close event.
        If the widget has the Qt::WA_DeleteOnClose flag, the widget is also deleted.    

    所以只要给widget设置Qt::WA_DeleteOnClose的属性就好啦

    Widget->setAttribute(Qt::WA_DeleteOnClose);

     

    转载于:https://www.cnblogs.com/huminiceblog/p/3768104.html

    更多相关内容
  • UE4场景中关闭物体的影子,可以在模型的属性中设置...而位于场景中的Widget没有Cast Shadow,要关闭影子,可以通过修改材质球属性实现。 默认三维Wigdet的混合模式是Masked 修改为Translucent,可以关闭阴影。 ...

    UE4场景中关闭物体的影子,可以在模型的属性中设置Cast Shadow为False即可。
    在这里插入图片描述
    而位于场景中的Widget没有Cast Shadow,要关闭影子,可以通过修改材质球属性实现。
    默认三维Wigdet的混合模式是Masked
    在这里插入图片描述修改为Translucent,可以关闭阴影。
    在这里插入图片描述

    展开全文
  • direction direction 为限制滑动关闭方向,在 onDismissed / confirmDismiss 中也可以进行判断; DismissDirection.vertical 竖直方向,包括 up / down 两种 DismissDirection.horizontal 水平方向,包括 ...

    margin: EdgeInsets.symmetric(horizontal: 20),
    child: Row(children: [
    Expanded(child: Text(‘当前 item = ${(index + 1)}’, style: TextStyle(fontSize: 16.0))),
    Padding(child: Icon(Icons.lock_open, size: 14.0), padding: EdgeInsets.only(left: 10.0))
    ])),
    Container(height: 0.5, color: Colors.grey)
    ]);
    }

    _disItem(index) => Dismissible(key: UniqueKey(), child: _listItem(index));

    1. background

    background 为堆叠在 Dismissible 设置的 child 元素后的 Widget,在滑动过程中展示的背景 Widget;对于未设置 secondaryBackground 时,各个方向的滑动展示的背景均为 background

    _backgroundWid() {
    return Container( color: Colors.red,
    child: Align( alignment: Alignment.centerRight,
    child: Padding( padding: EdgeInsets.symmetric(horizontal: 20.0),
    child: Column( mainAxisAlignment: MainAxisAlignment.center, mainAxisSize: MainAxisSize.min,
    children: [
    Icon(Icons.delete_forever, color: Colors.white, size: 18.0),
    SizedBox(height: 5.0),
    Text(‘Delete’, style: TextStyle(color: Colors.white))
    ]))));
    }

    2. secondaryBackground

    secondaryBackgroundbackground 类似,仅支持在向上滑动或从右向左滑动方向上展示的背景 Widget

    _secondBackgroundWid() {
    return Container( color: Colors.green,
    child: Align( alignment: Alignment.centerLeft,
    child: Padding( padding: EdgeInsets.symmetric(horizontal: 20.0),
    child: Column( mainAxisAlignment: MainAxisAlignment.center, mainAxisSize: MainAxisSize.min,
    children: [
    Icon(Icons.edit, color: Colors.white, size: 18.0),
    SizedBox(height: 5.0),
    Text(‘Edit’, style: TextStyle(color: Colors.white))
    ]))));
    }

    3. direction

    direction 为限制滑动关闭方向,在 onDismissed / confirmDismiss 中也可以进行判断;

    • DismissDirection.vertical 竖直方向,包括 up / down 两种
    • DismissDirection.horizontal 水平方向,包括 endToStart / startToEnd 两种
    • DismissDirection.endToStart 结束到开始方向(与语言设置的 rtlltr 相关),汉英等日常方向一般是从右至左
    • DismissDirection.startToEnd 开始到结束方向(与语言设置的 rtlltr 相关),汉英等日常方向一般是从左至右
    • DismissDirection.up 由下向上
    • DismissDirection.down 由上向下

    return Padding(padding: EdgeInsets.symmetric(vertical: 10.0, horizontal: 20.0),
    child: Dismissible(
    key: Key(’ d i r e c t i o n . t o S t r i n g ( ) ′ ) , c h i l d : C o n t a i n e r ( h e i g h t : 100.0 , c h i l d : C e n t e r ( c h i l d : T e x t ( ′ {_direction.toString()}'), child: Container(height: 100.0, child: Center(child: Text(' direction.toString()),child:Container(height:100.0,child:Center(child:Text({_direction.toString()}’, style: TextStyle(color: Colors.white, fontSize: 16.0))),
    decoration: BoxDecoration(color: _color, shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(20.0))),
    direction: _direction,
    background: Container(decoration: BoxDecoration(color: Colors.grey, shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(20.0))),
    ));

    4. confirmDismiss & onDismissed & onResize

    confirmDismiss 返回的是 Future 类型的数据,用于判断是否清除当前 Widget,返回 true 时清除此 Widget,否则将其移回到其原始位置;当返回 false / null 时,均不会进入 onDismissed / onResize 回调;其中 onDismissed 为确认清除当前 Widget 的回调,onResize 为当前 Widget 改变尺寸时的回调;在 confirmDismiss / onDismissed 中可以根据 direction 滑动方向进行单独判断;

    _itemDialog(context, _direction) {
    bool _value = false;
    return showDialog(context: context,
    builder: (context) {
    return AlertDialog(
    title: Row(children: [
    Icon(Icons.settings), SizedBox(width: 8),
    Text(_direction == DismissDirection.endToStart ? ‘Delete’ : ‘Edit’)
    ]),
    content: Icon(_direction == DismissDirection.endToStart ? Icons.delete_forever : Icons.edit, color: _direction == DismissDirection.endToStart ? Colors.red : Colors.green),
    actions: [
    FlatButton(child: const Text(‘No’),
    onPressed: () { Navigator.pop(context, true); _value = false; }),
    FlatButton(child: const Text(‘Yes’),
    onPressed: () { Navigator.pop(context, t

    《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

    【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

    rue); _value = true; })
    ]); }).then((val) {
    val = _value; return val;
    });
    }

    5. dismissThresholds

    dismissThresholds 可根据各方向设置不同的阀值,对应的是一个 Map 集合;范围在(0.0, 1.0) 之间,设置的阀值越大,代表滑动范围越大才可以触发 onDismissed 回调;

    dismissThresholds: {
    DismissDirection.startToEnd: 0.8,
    DismissDirection.endToStart: 0.3
    },

    onDismissed 回调;

    dismissThresholds: {
    DismissDirection.startToEnd: 0.8,
    DismissDirection.endToStart: 0.3
    },

    展开全文
  • Widget Environment-开源

    2021-05-15 02:12:08
    一个使用JavaScript编写的易于使用的窗口环境,可为您的网页提供桌面外观。 功能包括:基本的窗口行为(关闭,最大化,最小化),带有子菜单的导航菜单以及所有打开的窗口的列表。
  • vtk widget 屏蔽默认交互

    千次阅读 2020-08-27 15:43:46
      vtk widget默认带一些常用交互,但有时候我们需要屏蔽(修改)默认交互事件。可以使用vtkWidgetEventTranslator来屏蔽/修改默认交互。   比如 vtkContourWidget 默认交互 操作 交互 左键按下 触发选择...

      vtk widget默认带一些常用交互,但有时候我们需要屏蔽(修改)默认交互事件。可以使用vtkWidgetEventTranslator来屏蔽/修改默认交互。

      比如 vtkContourWidget

    默认交互

    操作交互
    左键按下触发选择事件
    右键按下触发AddFinalPoint事件
    鼠标移动触发移动事件
    左键松开触发EndSelect事件
    Delete按键触发删除事件
    Shift+Delete按键触发重置事件

    在这里插入图片描述

      如果在红色边缘附近按下鼠标中键,则会触发整体移动事件。我想屏蔽这种交互,只需要

        if (this->widget_left_ == nullptr) {
            this->widget_left_ = vtkSmartPointer<vtkContourWidget>::New();
        }
        if (this->widget_right_ == nullptr) {
            this->widget_right_ = vtkSmartPointer<vtkContourWidget>::New();
        }
        vtkWidgetEventTranslator *event_translator_left =  widget_left_->GetEventTranslator();
        event_translator_left->SetTranslation(
            vtkCommand::MiddleButtonPressEvent, vtkWidgetEvent::NoEvent);
        event_translator_left->SetTranslation(
            vtkCommand::MiddleButtonReleaseEvent, vtkWidgetEvent::NoEvent);
        vtkWidgetEventTranslator *event_translator_right =  widget_right_->GetEventTranslator();
        event_translator_right->SetTranslation(
            vtkCommand::MiddleButtonPressEvent, vtkWidgetEvent::NoEvent);
        event_translator_right->SetTranslation(
            vtkCommand::MiddleButtonReleaseEvent, vtkWidgetEvent::NoEvent);
    
    展开全文
  • 首先打开QtCreator,文件 –>...代码的编写主要在Widget类的构造函数中进行。 可以通过如下代码声明并构建一个按钮对象。并调用其setParent()与setText()成员函数设置其父亲与按钮的文字内容。 QPushButt
  • 添加widget失败

    千次阅读 2021-06-15 12:56:35
    上周项目上遇到了一个bug,bug现象是,在桌面添加widget,流程是启动app的MainActivity,这个app是一个需要授权的app,当授权流程走完了之后,发现widget并没有添加成功,看log也没有
  • Flutter widget组件简介

    2021-05-27 01:44:53
    一、简介Flutter Widget采用现代响应式框架构建,核心思想是用widget组件来构建UI,当widget的状态发生变化时,widget也会对应重新构建UI,Flutrer会对比前后变化的不同,以确定底层渲染树从一个状态转换到下一个...
  • - 适用于 Android 的日历和任务小部件 Todo Agenda 是 Android 设备的主屏幕小部件。 每个小部件都有自己的设置并显示配置的日历事件和任务列表,以便您可以轻松了解到期、当前... 关闭小部件标题、日标题、事件图标、
  • 关闭widget,必须向widgetUI发送消息。   首先通过CApaWindowGroupName获得一个WidgetUI的window group id。 根据前面的widgetlist我们知道那些widget在运行,并能得到uid。   假设关闭UID  ...
  • Stack: 取代线性布局 (译者语:和Android中的LinearLayout相似),Stack允许子 widget 堆叠, 你可以使用Positioned来定位他们相对于Stack的上下左右四条边的位置。Stacks是基于Web开发中的绝度定位(absolute ...
  • DockWidget

    2021-04-20 16:13:12
    //可关闭 可浮动 QTextEdit *te2=new QTextEdit(); te2->setText("Window2,The dock widget can be datached from the main window,""and floated as an independent window,and can be close"); dock->setWidget(te...
  • QT 清空某个widget中的子控件

    千次阅读 2019-07-25 15:12:42
    QList<QPushButton*> btns = ui.scrollAreaWidgetContents->findChildren<QPushButton*>(); foreach(QPushButton* btn, btns) { if("btn_AddTab" == btn->objectName())//不想删除某个 ...
  • widget有什么用

    2021-06-17 11:21:24
    共享widget 是什么 有什么用处Widget一般指Web ...它的根本思想来源于代码复用,通常情况下,Widget的代码形式包含了DHTML,JavaScript以iPhone有什么好用的widget的APPWidget的特性,是快速浏览——无论在app、...
  • 一、概念首先要区分widget和AppWidget这两个概念。1、Widgetwidget可以直译为小部件,它在Android中代表视图的概念,如TextView、Button、EditText等widget视图控件,及LinearLayout等视图布局。2、...
  • 本文和大家重点讨论一下Android开发指南-窗口小部件App Widgets ,应用程序窗口小部件Widget开发是微小的应用程序视图,可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。Android开发指南-窗口小部件App ...
  • Android Widget不会更新

    2021-06-05 00:38:47
    但是我注意到,当我测试运行它时,onUpdate()实际上是在我的配置活动关闭之前执行的.在我的配置活动中,我有以下代码来初始化我的小部件(至少它应该做什么),我认为错误就在这里: public void onClick(View view) { // ...
  • audio widget

    2022-06-07 21:47:58
    用户空间的应用程序无需对代码做出修改,也无需重新编译,DAPM根据当前激活的音频流(playback/capture)和声卡中的mixer等的配置来决定那些音频控件的电源开关被打开或关闭。 DAPM的基本单元widget widget,其实...
  • 可以使用AppWidgetManager更新Widget中的数据,但这样最短也要半个小时才能更新一次,一般不用他更新,而是自己定义一个服务去更新Widget中的数据。Widget的创建步骤写一个类继承AppWidgetProvider,这个是一个广播...
  • DAPM-widget

    千次阅读 2022-03-05 22:54:07
    介绍了DAPM的widget相关部分
  • appWidget启动Service

    2013-08-27 20:03:31
    在appWidget启动Service,与Service通讯
  • 1. 隐藏了最大化最小化关闭等按钮 2. 可以自行修改标题栏中文字的位置类型等,标题栏的高度 3. dockwidget可以拖出来,双击就变全屏,再双击恢复原来的尺寸 4. 改程序实现了双屏或者多屏显示的时候,在指定的屏幕...
  • ​​​​​​在PyQt中,QWidget类对应基础的窗口组件,如果要在窗口组件关闭时截获关闭事件,提供自己的控制机制,则可以通过在自定义的派生类中重写closeEvent方法。 重写closeEvent方法的语法如下:def ...
  • mars3d关于Widget方式开发有如下说明: 我们通过vscode打开该项目,项目中最重要的是2个点是,json配置文件 和 widget模块化开发,一般开发项目只用修改配置文件和开发新的widget即可。 config/config.json是地图...
  • Flutter Widget之Overlay

    千次阅读 2022-04-28 18:06:45
    Overlay + OverlayEntry Overlay Overlay是一个类似Stack的Widget,可以将OverlayEntry插入到Overlay中,将OverlayEntry中构建的小部件叠加悬浮在其他顶部小部件之上。可以实现类似悬浮小弹窗的效果,如Toast,安卓的...
  • mars3d在vue3.0生态上开发了两个gis相关开源项目 mars3d-vue-example 和 mars3d-vue-project,在这两个项目中widget都是非常重要的一个模块。通过widget可以在复杂的场景下非常清晰的管理功能模块之间的互斥关系,...
  • Widget、MainWindow和Dialog的选择使用

    千次阅读 2019-05-23 08:06:36
    Widget、MainWindow和Dialog的选择使用 Qt中的每个类,都有一个对应的同名头文件,其中包含其类定义。例如要使用QApplication类,则需要在程序中添加" #include <QApplication>"。 QApplication类用于管理...
  • 接上两篇,如果想要实时更新widget的话,可以通过service去操作。 一、先新建一个AppwidgetService服务类继承Service public class AppWidgetService extends Service { private List strLists = new ArrayList()...
  • 最近在用cocos code ide开发时,载入一个用cocos studio开发的UI json文件,点关闭按钮,在关闭按钮里我调用removeFromParentAndCleanup,直接crash掉了。 后来发现不能直接删除由json文件万成的面板,估计是删除...
  • C++ qt实现打开关闭状态按钮

    千次阅读 2022-03-14 21:20:46
    效果图: 上述这种按钮,用QCheckBox可以实现,只要在选择与未选择的状态设置不同的图片即可: ...Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); ui->

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 59,750
精华内容 23,900
关键字:

如何关闭widget