精华内容
下载资源
问答
  • WPFQt

    2011-11-17 10:43:00
    WPF和Qt是分别隶属微软Nokia,前者是一个商业开发平台,后者则完全开源。但他们都提供给界面开发者使用。在使用了一段时间之后,发现二者其实有很多相同的思路。就界面的组织而言,WPF使用xaml来定义控件,完全...

        所谓大道归一,其实很多的方法,虽然初期不同,但发展到一定程度后,往往又会出现惊人的相似之处。
        WPF和Qt是分别隶属微软和Nokia,前者是一个商业开发平台,后者则完全开源。但他们都提供给界面开发者使用。在使用了一段时间之后,发现二者其实有很多相同的思路。
    就界面的组织而言,WPF使用xaml来定义控件,完全学习了html的方式。控件之间可以任意组合,任意包含。这相对于MFC方便了许多,而这种嵌套的思路也是很符合发展趋势的。而Qt在这方面也有类似的做法。所有的控件元素全部继承自QWidget,这点没有WPF那么纯粹,从WinForm开始,C#语言就要求所有的类都继承自object了。QWidget中可以设置QLayout,QLayout中有可以加入其它的QWidget。这也使其实现了控件布局的灵活组织。区别仅仅就在于WPF可以直接进行嵌套,Qt则需要使用QLayout进行过度。我觉得效果是相同的,可能实现上有所差别。WPF使用标记语言进行控件设计,直接嵌套结构依然很清晰。而Qt仍然使用传统的C++,加入QLayout的过度更有层次感,否则代码容易混乱。
        在消息机制上,两者也都有很突出的特点。我觉得这种特点就是更加自由的消息机制,Qt中称为槽函数。相对于MFC来说,这种消息机制更加方便。WPF实现主要通过控件层之间的消息自然传递。而Qt的connect操作直接决定了源和目的两个对象以及各自的触发和响应。如果对二者做一个比较的话,前者依赖其设计精良的布局层次,后者则给与绑定以充分的自由度,而结果都是实现了更加方便的响应机制。
        其实类似的还有很多,只是控件布局和消息响应作为表示层最重要的要素,所以就比较突出。

    转载于:https://www.cnblogs.com/musicoder/archive/2011/11/17/2252269.html

    展开全文
  • 目前网络上关于pywinauto的资料大多数是对notepad进行操作。 在公司windows产品上进行了应用。...1、窗口控件的选择 # 登录窗口及登录按键 login_dialog=app["Login"] login_control=login_d...

    目前网络上关于pywinauto的资料大多数是对notepad进行操作。

    在公司windows产品上进行了应用。

    参考:官方API文档 https://pywinauto.readthedocs.io/en/latest/index.html

     

    1、窗口和控件的选择
    # 登录窗口及登录按键
    login_dialog=app["Login"]
    login_control=login_dialog["Button"]
    
    # datagrid 数据选择
    Patient_control = PM_dialog.window(title="LI QIANG",class_name="DataGridCell",found_index=0)
    Patient_control.type_keys("{HOME}")
    
    2、键盘输入
    # 窗宽窗位调整,需要先删除窗宽窗位默认值,再输入肺窗值
    WL =PM_dialog.window(auto_id="WL",class_name="TextBox")
    WL.draw_outline(colour="red")
    WL.set_focus()
    WL.type_keys("^a"
                 "{DELETE}"
                 "{VK_SUBTRACT}600" )
    
    3、鼠标动作
    #选择种子点,翻页,再次选择种子点
    Seed1_xy=(600,250)
    mouse.click(button="left",coords=Seed1_xy)
    time.sleep(1)
    mouse.scroll(coords=Seed1_xy, wheel_dist=1)
    time.sleep(1)
    Seed2_xy=(600,350)
    mouse.click(button="left",coords=Seed2_xy)
    
    4、等待窗口出现和消失
    Popup= app["MetroProBarWindow"]
    Popup.wait("exists",timeout=3, retry_interval=1)
    print("正在执行中.......")
    Popup.wait_not("exists",timeout=60, retry_interval=1)
    print("执行完毕!")
    
    5、最后校验结果,通过结果文件大小和日期进行判断
    assert Organ_Stl_Size > 1.0  and Now_time-Organ_mtime <60.0,"三维模型创建失败
    
    
    
    完整代码如下:
    from pywinauto.application import Application,findwindows
    from pywinauto import mouse
    from pywinauto import *
    import time
    import datetime
    from pywinauto import uia_element_info
    import subprocess
    import os
    
    # 启动程序
    # 方法1
    # subprocess.Popen(args='D:\CAS_Py_V1.0_R4165_P\Release\CAS_Py_V1.0_R4165_P.exe',cwd=r"D:\CAS_Py_V1.0_R4165_P\Release")
    # specify an already running application
    # 方法2
    app = Application(backend="uia").start(cmd_line="D:\CAS_Py_V1.0_R4165_P\Release\CAS_Py_V1.0_R4165_P.exe",wait_for_idle=False,
                                           work_dir="D:\CAS_Py_V1.0_R4165_P\Release")
    # 链接到程序
    # app=Application(backend="uia").connect(path=r"D:\CAS_Py_V1.0_R4165_P\Release\CAS_Py_V1.0_R4165_P.exe")
    
    # 登录
    #  specify a dialog of the application
    login_dialog=app["Login"]
    login_dialog.draw_outline(colour="red")
    # login_dialog.print_control_identifiers()
    login_control=login_dialog["Button"]
    login_control.draw_outline(colour="red")
    login_control.click()
    # print(type(app))
    
    #  选择病例
    PM_dialog = app["PatientManager"]
    # print(type(PM_dialog))
    # 标记dialog或者control
    PM_dialog.draw_outline(colour="red")
    # PM_dialog.print_control_identifiers()
    # found_index :The index of the filtered out child element to return
    Patient_control = PM_dialog.window(title="LI QIANG",class_name="DataGridCell",found_index=0)
    Patient_control.draw_outline(colour="red")
    # 控件的类型也是windowspecification
    # print(type(Patient_control))
    # print("*"*100)
    # Patient_control.print_control_identifiers()
    # print("*"*100)
    # owner control 通过按键进行操作
    Patient_control.type_keys("{HOME}")
    
    # # 获取控件坐标位置,进行鼠标点击
    # # Menu_3D = PM_dialog.window(title="三维重建",found_index=0)
    # # Menu_3D.draw_outline(colour="red")
    # # Menu_3D_location=Menu_3D.element_info.rectangle.mid_point()
    # # print(Menu_3D_location)
    # # mouse.click(button="left",coords=Menu_3D_location)
    
    # # 控件没有title,使用automationID进行定位
    # # 切换到三维重建模块
    Menu_3D = PM_dialog.window(auto_id="_3dRebuidBtn",class_name="Button")
    Menu_3D.draw_outline(colour="red")
    Menu_3D.click()
    
    # 切换到肺模块
    time.sleep(10)
    Organ = PM_dialog.window(auto_id="lung", control_type="Image")
    Organ.click_input()
    
    # 窗宽窗位调整,需要先删除窗宽窗位默认值,再输入肺窗值
    WL =PM_dialog.window(auto_id="WL",class_name="TextBox")
    WL.draw_outline(colour="red")
    WL.set_focus()
    WL.type_keys("^a"
                 "{DELETE}"
                 "{VK_SUBTRACT}600" )
    WB =PM_dialog.window(auto_id="WB",class_name="TextBox")
    WB.draw_outline(colour="red")
    WB.set_focus()
    WB.type_keys("^a"
                 "{DELETE}"
                 "1400")
    WLWB_OK =PM_dialog.window(auto_id=r"w_OK",class_name="Button")
    WLWB_OK.draw_outline(colour="red")
    WLWB_OK.click_input()
    
    #快速分割
    Seg_Seeds=PM_dialog.window(auto_id="segmentation_TakePixel")
    Seg_Seeds.draw_outline(colour="red")
    Seg_Seeds.click_input()
    Seed1_xy=(600,250)
    mouse.click(button="left",coords=Seed1_xy)
    time.sleep(1)
    mouse.scroll(coords=Seed1_xy, wheel_dist=1)
    time.sleep(1)
    Seed2_xy=(600,350)
    mouse.click(button="left",coords=Seed2_xy)
    Show=PM_dialog.window(auto_id="segmentation_Show",class_name="Button")
    Show.draw_outline(colour="red")
    Show.click_input()
    
    # 保存
    # 需要处理2个弹出窗口:
    # 1.正在执行的窗口 MetroProBarWindow
    # 2.保存提示窗口
    Popup= app["MetroProBarWindow"]
    Popup.wait("exists",timeout=3, retry_interval=1)
    print("正在执行中.......")
    Popup.wait_not("exists",timeout=60, retry_interval=1)
    print("执行完毕!")
    Save = PM_dialog.window(auto_id="save",class_name="Button")
    Save.draw_outline(colour="red")
    Save.click_input()
    MessageBox = app["uMessageBox"]
    MessageBox.wait("exists",timeout=10, retry_interval=1)
    MessageBox.window(title="是", auto_id="tb_YES").click_input()
    time.sleep(20)
    
    # 结果校验
    Stl_Dir_Path = r"D:\CASImage\20190111\20190111142120_LI QIANG\Results\Stl"
    Organ_Name = r"Lung.stl"
    Organ_Stl_Path = os.path.join(Stl_Dir_Path,Organ_Name)
    Organ_Stl_Size = os.path.getsize(Organ_Stl_Path)/float(1024*1024)
    print("三维模型体积为%.2f M"%Organ_Stl_Size)
    Organ_mtime = os.path.getmtime(Organ_Stl_Path)    #时间戳类型:自1970年1月1日(00:00:00 GMT)以来的秒数
    Organ_mtime_str = datetime.datetime.fromtimestamp(Organ_mtime).strftime("%Y-%m-%d %H:%M:%S")  #转换为字符串日期时间
    Now_time = time.time()
    print("三维模型创建时间为:"+Organ_mtime_str)
    assert Organ_Stl_Size > 1.0  and Now_time-Organ_mtime <60.0,"三维模型创建失败"

     

    视频操作效果如下:

    https://pan.baidu.com/s/1Be7dCmCMmPq00FjvDgetpQ

     

     

     

     

     

    展开全文
  • 引言想给自己之前写的网页小说爬虫程序更新换代,之前一直是用winform的形式写的程序,因此这一次更新打算把UI换成WPF(因为听说WPF很漂亮),顺便也以此引入WPF的学习。那么作为网页爬虫程序,最重要的就是html源码的...

    引言

    想给自己之前写的网页小说爬虫程序更新换代,之前一直是用winform的形式写的程序,因此这一次更新打算把UI换成WPF(因为听说WPF很漂亮),顺便也以此引入WPF的学习。

    那么作为网页爬虫程序,最重要的就是html源码的获取了,通常的获取方式有几种:HttpWebRequest、WebRequest、WebClient、WebBrowser等。由于我这里写的爬虫软件针对的网站需要先登录才能看到小说内容,而我一次爬取的内容不多都是短篇小说,因此不需要考虑到爬取的速度,因此自然是打算使用WebBrowser来实现登陆后获取网页源码。而为了加快爬取速度我考虑多开几个WebBrowser线程,同时对多个页面进行采集,暂时不知道这个思路是否能够实现,这是后话了。(题外话,如果你要快速爬取大量网页,可以考虑使用WebClient,若有登录需求则进行模拟登录记录cookie,不过这样挺麻烦的)

    问题

    新建WPF项目后,第一件事就是吧WebBrowser控件拖一个到窗口中,由于我熟悉网站开发,因此xaml对我来说倒不是什么难事。可是在获取网页源代码这一步就坑爹了,WPF中WebBrowser的属性和方法似乎没有能够获取html 的!

    8d065ac43a9fcb3db7c5ff193d4d8df6.png

    实践

    遇到问题先问搜索引擎,然而网上大家似乎都没有类似需求,全是WPF中如何用webbrowser操作html元素的,大概就是通过IHTMLElement接口操作DOM。不过既然都操作了DOM,那么获取html也是没问题的了。

    1.引用中添加Microsoft.mshtml.dll

    b1c0255cbb337d130f0112a7a83424d9.png

    在中找到需要引用的项目

    4cb58f92b7e745f7671c6755b8f02f61.png

    2.操作Html

    之后就可以用HTMLDocument来操作Html了,记得要引用命名空间:mshtml。之后的内容以代码的形式贴上。

    using mshtml;

    ……

    webBrowser.Navigate("http://www.baidu.com/");

    // ……等待网页加载……

    HTMLDocument doc = this.wb3.Document as HTMLDocument;

    //获取body内的html代码

    string html = doc.body.innerHTML;

    //暂时没搞明白应该怎么获取所有的html代码

    //根据ID获取元素

    //根据id获得input

    IHTMLElement inputSearch = (IHTMLElement)doc.all.item("kw");

    //为input设置value属性

    inputSearch.setAttribute("value","设置搜索内容");

    //获得搜索按钮

    IHTMLElement submitSearch = (IHTMLElement)doc.all.item("su");

    //点击按钮

    submitSearch.click();

    //获取窗体

    mshtml.IHTMLWindow2 window = (mshtml.IHTMLWindow2)doc.parentWindow;

    //注入javascript

    window.execScript("alert(123);", "javascript");

    //注入禁止弹窗等

    window.execScript("function alert(){return;}", "javascript");

    window.execScript("function confirm(){return;}", "javascript");

    //第二次的alert将不会执行

    window.execScript("alert(456);", "javascript");

    1047aef362e51b4d4884f78bd1e133d1.png

    1af919d8be5fad2f908e445433794c3c.png

    5ee7e75adb86d809ca96d87aa076c9bc.png

    ///

    /// 这个方法据说可以屏蔽掉JS,在Navigated事件中调用,未测试

    ///

    ///

    ///

    public void HideScriptErrors(WebBrowser wb, bool Hide)

    {

    FieldInfo fiComWebBrowser = typeof(WebBrowser).GetField("_axIWebBrowser2", BindingFlags.Instance | BindingFlags.NonPublic);

    if (fiComWebBrowser == null) return;

    object objComWebBrowser = fiComWebBrowser.GetValue(wb);

    if (objComWebBrowser == null) return;

    objComWebBrowser.GetType().InvokeMember("Silent", BindingFlags.SetProperty, null, objComWebBrowser, new object[] { Hide });

    }

    webBrowser中操作网页元素全攻略

    原文 webBrowser中操作网页元素全攻略 1.获取非input控件的值: webBrowser1.Document.All["控件ID"].InnerText; 或webBr ...

    JS获取整个网页html代码

    var test=document.getElementsByTagName('html')[0].innerHTML; alert(test);

    C&num; 网络编程之webBrowser获取网页url和下载网页中图片

    该文章主要是通过C#网络编程的webBrowser获取网页中的url并简单的尝试瞎子啊网页中的图片,主要是为以后网络开发的基础学习.其中主要的通过应用程序结合网页知识.正则表达式实现浏览.获取url. ...

    VBS脚本和HTML DOM自动操作网页

    VBS脚本和HTML DOM自动操作网页 2016-06-16 10:24 1068人阅读 评论(0) 收藏 举报  分类: Windows(42)  版权声明:本文为博主原创文章,未经博主允许不得转 ...

    JAVA之旅(三十四)——自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫

    JAVA之旅(三十四)--自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫 我们接着来说网络编程,TCP 一.自定义服务端 我们直接写一个服务端,让本机去连接 ...

    C&num;使用WebBrowser对指定网页截图

    使用webbrowser获取html,然后输出的位图即可. WebBrowser wb = new WebBrowser(); // 创建一个WebBrowser wb.ScrollBarsEnabl ...

    微信快速开发框架(八)-- V2&period;3--增加语音识别及网页获取用户信息,代码已更新至Github

    不知不觉,版本以每周更新一次的脚步进行着,接下来应该是重构我的代码及框架的结构,有朋友反应代码有点乱,确实如此,当时写的时候只是按照订阅号来写的,后来才慢慢增加到支持API接口.目前还在开发第三方微信 ...

    linux中用shell获取昨天、明天或多天前的日期

    linux中用shell获取昨天.明天或多天前的日期 时间 -- :: BlogJava-专家区 原文 http://www.blogjava.net/xzclog/archive/2015/12/0 ...

    php正则获取网页标题、关键字、网页描述代码

    php正则获取网页关键字,代码如下: function get_keywords($html) { $html=strtolower($html); preg_match("@

    随机推荐

    NC表型参照类

    package nc.ui.bd.ref; /** * 表参照-其他参照基类. 创建日期:(2001-8-23 20:26:54) 模型里未处理栏目 * * @author:张扬 * */ impor ...

    PHPExcel用法有感

    今日项目需求导出excel.我用最简单的header头方式导出了,但是需求部门退回了,说不满足他们的需求,需要我按照他们的模板来导出. 然后想到了PHPExcel,没用过,走了不少弯路. 1.去官网下 ...

    Qt应用程序中设置字体

    Qt应用程序中设置字体 应用程序中经常需要设置字体,例如office软件或者是其他的编辑器软件等等.这里主要涉及到如下几个概念:字体,字号以及风格(例如:粗体,斜体,下划线等等).Qt里面也有对应的类 ...

    Fiddler&lowbar;抓包应用&lowbar;01

    1. 手机抓包配置 1.1. Fiddler配置 Tools->Options 抓取https的请求: 查看Fiddler端口 1.2. 获取Fiddler 所在IP (1) 可通过fiddle ...

    解决overflow&colon; hidden在移动端失效问题

    1.问题:移动端出现弹窗后,滑动页面,页面底部出现空白 二.原因 经过分析,发现overflow: hidden;在移动端失效,导致弹窗出现时,滑动页面,页面底部出现空白. 三.解决 参考网址:htt ...

    Netsharp配置文件

    一.总体说明 netsharp下需要配置的项目一般是需要独立启动的项目,主要有四个 netsharp-web netsharp-test netsharp-elephant netsharp-donk ...

    &lbrack;CTCI&rsqb; 双栈排序

    双栈排序 题目描述 请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中. 给定一个int[] numbers(C++中 ...

    浅析JavaBean

    一.概述 JavaBean组件本质上是一个Java类,只是这个类的编码要遵循一些约定.用户可以使用JavaBean将功能.处理.值.数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的 ...

    ucontext-人人都可以实现的简单协程库

    ucontext的介绍 http://blog.csdn.net/qq910894904/article/details/41911175 协程的介绍 https://en.wikipedia.org ...

    js实现toFixed截取效果

    Number.prototype.toFixed = function(fractionDigits) { ; || f > ) { throw new RangeError("Pre ...

    展开全文
  • WPF调用带界面Qt Dll

    2019-06-19 17:32:41
    参考博客: https://blog.csdn.net/shuishanga/article/details/52183159 ... 0. 开发环境 Qt 5.9.0 Desktop Qt MSVC2015 64bit VS2015 64bit 1. 思路 qt重写...

    参考博客:
    https://blog.csdn.net/shuishanga/article/details/52183159
    https://blog.csdn.net/zuoyefeng1990/article/details/70885220

     

    0. 开发环境

    Qt 5.9.0  Desktop Qt MSVC2015 64bit

    VS2015 64bit

    1. 思路

    qt重写消息循环,自定义C接口,生成dll

    dll可以用mfc和wpf调用

    这里使用WPF实现qt dll调用

     

    2. 项目说明

    文档中两个项目

    qtdll:qt库源码,项目在路径 qt-solutions-master\qtwinmigrate\examples\qtdll

    WpfCallQtDialogDll:wpf程序

     

    3. 核心代码

    qtdll

    实现了两个接口函数,add()和showDialog(HWND parent)

    mainwindow是串口调试功能的界面,调用时会显示

    showDialog使用时传入句柄

    main.cpp

    #include <qmfcapp.h>
    #include <qwinwidget.h>
    #include <QMessageBox>
    #include <windows.h>
    
    #include "mainwindow.h"
    
    //  copy .\qtdialog.dll "D:\projects\2019\RobotControl20190304\WpfApplicationCallRobotDll\WpfA
    //  pplicationCallRobotDll\bin\x64\Debug"
    
    
    BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpvReserved*/ )
    {
        static bool ownApplication = FALSE;
    
        if ( dwReason == DLL_PROCESS_ATTACH )
            ownApplication = QMfcApp::pluginInstance( hInstance );
        if ( dwReason == DLL_PROCESS_DETACH && ownApplication )
            delete qApp;
    
        return TRUE;
    }
    
    QWinWidget *win;
    MainWindow *mainWindow;
    extern "C" __declspec(dllexport) bool showDialog( HWND parent )
    {
        win = new QWinWidget(parent);
        win->showCentered();
    
        mainWindow = new MainWindow(win);
        mainWindow->setWindowFlags(mainWindow->windowFlags()& ~Qt::WindowMaximizeButtonHint | Qt::Dialog);
        mainWindow->show();
    
        // QMessageBox::about( win, "About QtMfc", "QtMfc Version 2.0\nCopyright (C) 2003" );
    
        return TRUE;
    }
    
    extern "C" __declspec(dllexport) bool destroyDialog()
    {
        if(win != 0)
        {
            delete win;
            //delete serial;
        }
    
        return TRUE;
    }
    
    extern "C" __declspec(dllexport) int add(int a, int b)
    {
        return a + b;
    }
    

     

    wpf

    mainwindow.xaml.cs

    using System;
    using System.Runtime.InteropServices;
    using System.Windows;
    using System.Windows.Interop;
    
    namespace WpfCallQtDialogDll
    {
        /// <summary>
        /// Interaction logic for MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            [DllImport("qtdialog.dll", CallingConvention = CallingConvention.Cdecl)]
            public static extern bool showDialog(IntPtr parent);
    
            [DllImport("qtdialog.dll", CallingConvention = CallingConvention.Cdecl)]
            public static extern int add(int a, int b);
    
            public MainWindow()
            {
                InitializeComponent();
            }
    
            private void btnShowDialog_Click(object sender, RoutedEventArgs e)
            {
                IntPtr hwnd = new WindowInteropHelper(this).Handle;
    
                showDialog(hwnd);
            }
    
            private void btnAdd_Click(object sender, RoutedEventArgs e)
            {
                int restult = add(1, 2);
            }
        }
    }
    

    4. 使用方法

    qtdll编译生成的qtdialog.dll 

    qt5dll(UI)\qtdll(UI)\qt-solutions-master\qtwinmigrate\examples\build-qtdll-Desktop_Qt_5_9_0_MSVC2015_64bit-Debug\debug\qtdialog.dll

    拷贝到wpf

    WpfCallQtDialogDll\WpfCallQtDialogDll\bin\x64\Debug\qtdialog.dll"

     

    4. 运行效果

    展开全文
  • Qt和WPF比较---控件布局消息响应

    千次阅读 2015-11-18 13:38:57
     WPF和Qt是分别隶属微软Nokia,前者是一个商业开发平台,后者则完全开源。但他们都提供给界面开发者使用。在使用了一段时间之后,发现二者其实有很多相同的思路。  就界面的组织而言,WPF使用xaml来定义控件...
  • MFC、WTL、WPF、wxWidgets、Qt、GTK 对比

    千次阅读 2018-07-23 14:41:08
    Apple的成功有很多原因,其中之一就是cocoa,cocoa理念十分先进,而且出来得早,我都怀疑Qt和WPF有不少思想都是借鉴cocoa的。 定义式的UI,用xib就可以定义UI的绝大部分细节,而且提供所见即所得的可视化设计工具。...
  • 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform、WPF、ASP.NET Core等,亦有C++桌面相关的Qt Quick和Qt Widgets等,只分享自己熟悉的、自己会的。 阅读导航: 一、先看效果 ...
  • 原文:...编程语言做为一种语言自然英语这些自然语言有类似的地方.学英语时我们知道要先记26个字母,然后单词及其发音,接下来就是词组,句子.反正简单的说就是记单词,熟悉词法,句法.接
  • 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform、WPF、ASP.NET Core等,亦有C++桌面相关的Qt Quick和Qt Widgets等,只分享自己熟悉的、自己会的。 一、先看效果: 二、...
  • wpf实现抽屉效果,一般就一个动画显示就完事了,我这用到了,就研究了一下,用装饰器给控件添加遮罩层,然后在上面添加抽屉控件,虽然麻烦了点,也算是自己研究的成果了。看看效果:下面就看看代码:...
  • 传送门:MFC、WTL、WPF、wxWidgets、Qt、GTK、Cocoa、VCL 各有什么特点? MFC、WTL、WPF、wxWidgets、Qt、GTK、Cocoa、VCL 各有什么特点? WTL都算不上什么Framework,就是利用泛型特性对Win API做了...
  • 突然发现qq登录窗体的翻转特效看起来不错,决定用wpf试试。主要知识点就是Viewport3DAxisAngleRotation3D看一下效果:下面看一下代码:主要xaml代码:<...
  • C# WPF抽屉效果实现

    2019-12-19 08:30:00
    本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform、WPF、ASP.NET Core等,亦有C++桌面相关的Qt Quick和Qt Widgets等,只分享自己熟悉的、自己会的。 一、先看效果: 二、本文背景...
  • MFC、WTL、WPF、wxWidgets、Qt、GTK的对比

    千次阅读 2014-07-26 09:39:03
    Apple的成功有很多原因,其中之一就是cocoa,cocoa理念十分先进,而且出来得早,我都怀疑Qt和WPF有不少思想都是借鉴cocoa的。 定义式的UI,用xib就可以定义UI的绝大部分细节,而且提供所见即所得的可视化设计工具...
  • wpf

    2016-04-18 16:03:00
    1.WPF 设置TextBox为空时,背景为文字提示。 <TextBox FontSize="17" Height="26" Margin="230,150,189,0" Name="txt_Account" VerticalAlignment="Top" Foreground="Indigo" TabIndex="0" ...
  • 本文介绍如何在 WPF 程序中应用 Windows 10 真•亚克力效果。(而不是一些流行的项目里面自己绘制的亚克力效果。) 本文内容API如何使用注意事项 API 需要使用的 API 是微软的文档中并未公开的 SetWindowComposit.....
  • Apple的成功有很多原因,其中之一就是cocoa,cocoa理念十分先进,而且出来得早,我都怀疑Qt和WPF有不少思想都是借鉴cocoa的。 定义式的UI,用xib就可以定义UI的绝大部分细节,而且提供所见即所得的可视化设计工具...
  • Apple的成功有很多原因,其中之一就是cocoa,cocoa理念十分先进,而且出来得早,我都怀疑Qt和WPF有不少思想都是借鉴cocoa的。 定义式的UI,用xib就可以定义UI的绝大部分细节,而且提供所见即所得的可视化设计工具...
  • 软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform   1. 布局的继承结构 1 2. Absoluti 布局(经常使用) 1 3. Dock、Anchor布局//SpringLayout (经常使用) 2...
  • Qt OPengl 雷达余晖效果

    2015-09-06 16:28:20
    这个只是一点简单的OPengl测试代码,不是正式开发的代码,主要就是使用OPengl绘制雷达,和是雷达扫描余晖效果 有需要的可以参考一下,或许将实现更多功能
  •  Apple的成功有很多原因,其中之一就是cocoa,cocoa理念十分先进,而且出来得早,我都怀疑Qt和WPF有不少思想都是借鉴cocoa的。 定义式的UI,用xib就可以定义UI的绝大部分细节,而且提供所见即所得的可视化设计...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 975
精华内容 390
关键字:

wpf和qt效果