精华内容
下载资源
问答
  • idea 尾加分号 光标切换到下一

    千次阅读 多人点赞 2019-03-16 09:40:13
    idea 尾加分号/光标切换到下一 快捷键 Ctrl+Shift+Enter

    idea 行尾加分号/光标切换到下一行 快捷键

    Ctrl+Shift+Enter

    展开全文
  • 情景:做一个信息表格,需要多个Model切换,必须用QTableView,而不能用QTableWidget,因为后者不可以进行setModel()。方案: QTableView和选择有关的的信号有:void activated(const QModelIndex &index) void ...

    **情景:**做一个信息表格,需要多个Model切换,必须用QTableView,而不能用QTableWidget,因为后者不可以进行setModel()。

    方案:
    QTableView和选择有关的的信号有:

    void activated(const QModelIndex &index)
    void clicked(const QModelIndex &index)
    void doubleClicked(const QModelIndex &index)
    void entered(const QModelIndex &index)
    void pressed(const QModelIndex &index)
    

    没有类似currentRowChanged()信号怎么办?自己响应clicked(const QModelIndex &index)信号吗?虽然可以,但是比较麻烦。
    这里的推荐方法是使用QItemSelectionModel(),此类的信号有:

    void currentChanged(const QModelIndex &current, const QModelIndex &previous)
    void currentColumnChanged(const QModelIndex &current, const QModelIndex &previous)
    void currentRowChanged(const QModelIndex &current, const QModelIndex &previous)
    void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
    

    这些信号中可以获取所有选中状态的变化情况,而且便于使用。

    细节:
    另外,使用中发现,连接QItemSelectionModel的信号必须setModel之后,否则QTableView::selectionModel()返回值为NULL。说明必须在View中有Model之后,才可以进行信号连接。


    最近创建了一个公众号,定期写写文章,主要是Qt相关的。如果您觉得文章有用,可以关注一下。
    在这里插入图片描述

    展开全文
  • vim在同一,首尾切换

    千次阅读 2017-04-15 09:33:47
    操作vim小技巧,行头和切换:0是行首,$是

    vim小技巧,行头和行尾切换:0是行首,$是行尾

    展开全文
  • 用最简单的方式来实现Android视图扩散切换效果。 一、概述这两天时间动手撸了个视图扩散切换效果的控制器,API兼容至Android4.0...先来看看效果吧,代码实现只需一,感觉还不错~二、实现思路简单阐述关于过渡动画的

    用最简单的方式来实现Android视图扩散切换效果。

    一、概述

    这两天时间动手撸了个视图扩散切换效果的控制器,API兼容至Android4.0,更方便我们在视图切换过程中有炫酷的过渡效果。本来是想实现两个View之间的过渡动画,实现的过程中想到之前写的Activity切换动画,就试着加上了对Activity切换的动画支持。先来看看效果吧,代码实现只需一行,感觉还不错~

    ViewSpreadTranslationController

    ViewSpreadTranslationController

    ViewSpreadTranslationController

    二、实现思路简单阐述

    关于过渡动画的实现,我们先简单分解下这个效果,首先,当Activity发生跳转时我们要先获取共享元素控件,在跳转的界面将其添加在跳转页面之上,关于控件位置的获取,在上一篇文章Android碎裂的粒子效果一文中进行了介绍,主要是通过如下方法获取其位置:

     protected Rect getRectInWindow(View view, boolean mIsFullWindow){
                int[] location = new int[2];
                view.getLocationInWindow(location);
                return new Rect(location[0],location[1],location[0]+view.getMeasuredWidth(),location[1]+view.getMeasuredHeight());
        }

    当跳转至目标页面,我们现在其上方盖上一层遮罩,遮罩为我们自定义的控件,在控件上方绘制上一个页面的过渡视图,将其旋转、平移、或者缩放操作:

                canvas.save();
                Matrix matrix = new Matrix();
                matrix.postTranslate(mRect.left ,mRect.top);
                matrix.postScale(mScaleXCanvas,mScaleYCanvas,mRect.centerX(),mRect.centerY());
                matrix.postRotate(mRotationCanvas,mRect.centerX(),mRect.centerY());
    
                canvas.concat(matrix);
                mView.draw(canvas);
                canvas.restore();

    最后就是圆形散开效果了,这里我在自定义控件上使用的是Xfermode,不断drawCircle并扩大半径,最终显示出跳转页面视图并将遮罩移除。记得关闭硬件加速。

            mClearPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
            setLayerType(LAYER_TYPE_SOFTWARE,null);

    返回动画同理,在界面返回前将遮罩盖在上一个页面之上,遮罩包括当前页面的视图影像,不断drawCircle并缩小其半径,同时减小当前页面视图的透明度,最终平滑的显示出上一个页面并移除遮罩。

    三、具体使用

     helper = new BaseViewHelper
                    .Builder(SecondActivity.this)
                    //.setEndView()//如果是两个切换的视图  这里设定最终显示的视图
                    .setTranslationView(v)//设置过渡视图
                    .isFullWindow(true)//是否全屏显示
                    .isShowTransition(true)//是否显示过渡动画
                    .setDimColor(Color.WHITE)//遮罩颜色
                    .setDimAlpha(200)//遮罩透明度
                    //.setTranslationX(0)//x轴平移
                    //.setRotation(360)//旋转
                    //.setScaleX(0)//x轴缩放
                    //.setScaleY(0)//y轴缩放
                    //.setTranslationY(0)//y轴平移
                    //.setDuration(800)//过渡时长
                    //.setInterpolator(new AccelerateDecelerateInterpolator())//设置插值器
                    //设置监听
    //                .setOnAnimationListener(new BaseViewHelper.OnAnimationListener() {
    //                    @Override
    //                    public void onAnimationStartIn() {
    //                        Log.e("TAG","onAnimationStartIn");
    //                    }
    //
    //                    @Override
    //                    public void onAnimationEndIn() {
    //                        Log.e("TAG","onAnimationEndIn");
    //                    }
    //
    //                    @Override
    //                    public void onAnimationStartOut() {
    //                        Log.e("TAG","onAnimationStartOut");
    //                    }
    //
    //                    @Override
    //                    public void onAnimationEndOut() {
    //                        Log.e("TAG","onAnimationEndOut");
    //                    }
    //                })
                    .create();//开始动画
    

    如果从A页面跳转至B页面,也就是Activity之间的跳转时,在A页面如下代码 :

     new BaseViewHelper
                    .Builder(MainActivity.this, view)
                    .startActivity(intent);

    B页面代码:

    helper = new BaseViewHelper
                    .Builder(SecondActivity.this)
                    .isFullWindow(true)//是否全屏显示
                    .isShowTransition(true)//是否显示过渡动画
                    .setDimColor(Color.WHITE)//遮罩颜色
                    .setDimAlpha(200)//遮罩透明度
                    .create();//开始动画
    
        @Override
        public void onBackPressed() {
            if (helper!=null && helper.isShowing()){
                helper.backActivity(this);
            }else {
                super.onBackPressed();
            }
        }

    如果在一个页面两个视图之间跳转,即A视图切换到B视图:
    在当前页面代码:

                View v = View.inflate(this,R.layout.layout_second,null);
                //显示在当前页面跳转
                helper = new BaseViewHelper.Builder(this,view)
                        .setEndView(v)
                        .create();
    
    
        @Override
        public void onBackPressed() {
            if (helper!=null && helper.isShowing()){
                helper.back();
            }else {
                super.onBackPressed();
            }
        }

    四、源码地址

    项目地址:https://github.com/zhangke3016/ViewSpreadTranslationController
    如果喜欢,欢迎star、fork、issues。

    展开全文
  • window 写代码如何切换尾的问题

    千次阅读 2017-09-02 18:24:13
    以前写代码切换尾,需要按end键 我的笔记本键盘end键很远,非常不舒服 调整如下 elipse:切换尾 :shift + e idea:切换尾:shift + e notepad++ :取消自动补全,括号自动补全功能 ...
  • 代码实现输入法切换

    千次阅读 2013-09-02 21:56:51
    如前所述,我们可以通过keydb_event Windows API来实现系统音量的切换,并且很容易理解,所以你应该能联想到按下键盘Ctrl+Shift组合键就能切换Windows输入法,所以,下面就直接切入主题看代码了;   /*输入法切换...
  • vim 中快速切换行首

    万次阅读 2018-06-20 16:06:14
    小键盘中的END ⇒ 尾 小键盘中的0 ⇒ 行首
  • linux 权限命令 xshell 切换用户

    千次阅读 2019-09-21 18:29:15
    一、 权限命令 两种方式。 1.1 chown -R 指定的用户名, 权限的文件/文件夹赋予这个用户的权限读写。 /*1.0 权限命令 1. chown -R 指定的用户名 权限的文件/文件夹 赋予这个用户的权限读写。 演示 ...
  • idea 光标快速切换末、行首

    千次阅读 2019-05-31 16:40:28
    Home 光标快速定位至行首 End 光标快速定位至
  • 主要实现方法是通过使用RecyclerView中的GridLayoutManager,通过setSpanCount()方法,设置每1列或每三列。点击切换按钮后通过adapter的notifyDateSetChange方法,刷新列表,重走getItemViewType,...
  • tab切换是网页布局中很常用的一个设计,如果我们的选项卡有很多个,一显示不下,就需要把剩余的部分先隐藏,点击触发显示切换。如下图:  具体代码实现如下: 默认显示第一个(下标是0),可视区域7个选项卡...
  • 代码实现jq选项卡切换

    千次阅读 2017-06-15 15:27:08
    $('.queryNav li').click(function() {  $('.content').children().eq($(this).index()).show().siblings('.queryContent').hide(); });
  • TypedValue attrTypedValue = ChangeModeController.getAttrTypedValue(this, R.attr.zztextColor); toolbar.setTitleTextColor(getResources().getColor(attrTypedValue.resourceId));
  • //把这个flag 变成当前的的私有物,这样一来,每次变化的时候, 变化的都是你当前行的布尔值, row . flag = ! row . flag ; this . $refs . eltableCurrentRow . toggleRowSelection ( row , row . flag ) ...
  • iterm2切换显示屏vim乱解决

    千次阅读 2018-05-04 18:35:00
    http://note.youdao.com/noteshare?id=5aec9d82cc3a95b6909e9966b4aa3227 转载于:https://www.cnblogs.com/taiyang-li/p/8992041.html
  • {{# if(d.isActive == 1){ }} <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="forbidden">禁用</a> {{# } }} {{# if(d.isActive == 0){ }} ...a class="layui...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 680,501
精华内容 272,200
关键字:

如何切换行