精华内容
下载资源
问答
  • 就像现在看到的qq之类的,界面看起来还是比较美观的,它是什么工具?语言?开发的呢? ,不可能是java开发的吧,Java的swing和awt应该是好几年前用来做界面的吧! 那目前比较流行的的桌面面开发用的是什么呢?
  • 什么用windows开发

    2020-01-28 12:36:42
    什么用widows开发 因为widows使用率很高,而且windows有很友好的界面话,也可以命令启动,成本低。mac开发成本高,linux开发感觉更笨重。而且linux安装虚拟机也不太好用。直接windows开发最理想。 ...

    为什么用widows开发

    因为widows使用率很高,而且windows有很友好的界面话,也可以用命令启动,成本低。mac开发成本高,linux开发感觉更笨重。而且linux安装虚拟机也不太好用。直接windows开发最理想。

    展开全文
  • 我需要的开发环境多,比如Linux开发windows界面开发,物联网ARM开发,web网站开发,硬件电路及PCB开发,c51 & STM32单片机开发,我不可能把它们都放一张硬盘中。 有些不得不的某流氓网盘客户端,广告多得...

    为什么要用硬盘盒搭建开发环境?方便呗!

    我们需要的开发环境多,比如Linux开发,windows界面开发,物联网ARM开发,web网站开发,硬件电路及PCB开发,c51 & STM32单片机开发,我们不可能把它们都放一张硬盘中。

    有些不得不用的某流氓网盘客户端,广告多得黑人的歌曲下载软件。不得不用的聊天全家桶流氓软件,这些统统装一个系统中。

    每个系统都是一个vbox虚拟机磁盘文件。我们把这些文件连同portable-virtual box一起,放在一个硬盘中,然后借助usb3.0转sata硬盘盒,实现即插即用。

    机械硬盘有不错的4K小文件读写能力,良好的散热,亲民的价格,二手的希捷硬盘160GB,也只要几十块钱。


    因为windows界面开发,并不是日常之必备,而开发环境搭建安装,工作之繁琐,占用空间之大,前无古人,后无来者。巨硬果然名不虚传,virtual studio 2015 updates我装了4天5夜,恁是没能装上去,后来发现是安装包的问题。这安装包是之前能正常安装的,时至今日,新装的win7 x64系统上竟然装不了。人品,显然还是人吕。

    以上就是我要将windows界面开发环境做成虚拟机,放入硬盘盒中,即插即用之缘起。

    接下来就让我们体验一把搭建好的界面开发环境之使用篇:   https://i.otherhill.com/index.php/topic/show/437

     

    展开全文
  • 1. 用Visual Studio 2012做Windows下的桌面程序开发用户界面(UI)用什么技术实现较好? 2. Html5的开发有没有C++开发领域被许多人认可的Visual C++、C++ Builder类似的开发工具?求推荐 3. 是不是要学Html5就...
  • Windows c++界面开发初学(十一)win32

    千次阅读 2018-08-23 22:39:42
    代码设计了很多以前实训写的代码,这里就不放上来了,通过函数名字还是能看出来...发现MFC其实就是把win32的api封装起来更易于使用,但是因为写完这个程序就不学windows的接口写界面了,所以虽然mfc很方便但是还是...

    今天把项目的UI设计好了,页面跳转也设置好了,先完成了用户登录和用户注册。
    代码设计了很多以前实训写的代码,这里就不放上来了,通过函数名字还是能看出来在干什么的。

    参考博客:
    【mfc】用对话框的切换实现重新登录
    CHAR与WCHAR字符串的转化

    发现MFC其实就是把win32的api封装起来更易于使用,但是因为写完这个程序就不学windows的接口写界面了,所以虽然mfc很方便但是还是继续用win32吧。

    UI

    用户登录
    这里写图片描述
    用户注册
    这里写图片描述

    代码

    AgendaService agendaService;//此对象用于管理会议系统,提供了主要的对用户和会议的操作接口
    
    //此函数用于将string转换为wchar
    WCHAR* StringToWchar(const string& s) {
        int length = MultiByteToWideChar(CP_ACP, 0, s.c_str(), -1, NULL, 0);
        WCHAR* w_string = new WCHAR[length+1];
        memset(w_string, 0, sizeof(WCHAR)*length);
        MultiByteToWideChar(CP_ACP, 0, s.c_str(), -1, w_string, length);
        return w_string;
    }
    
    //此函数用于将WCHAR转换为string
    string WcharToString(const WCHAR* s) {
        int length = WideCharToMultiByte(CP_ACP, 0, s, -1, NULL, 0, NULL, false);
        char* str = new char[length+1];
        memset(str, 0, length);
        WideCharToMultiByte(CP_ACP, 0, s, -1, str, length, NULL, false);
        return string(str);
    }
    
    
    int CALLBACK WinMain(
        _In_ HINSTANCE hInstance,
        _In_ HINSTANCE hPrevInstance,
        _In_ LPSTR lpCmdLine,
        _In_ int nCmdShow
    ) {
        hInst = hInstance;
        //首先进入用户登录界面
        DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG2), NULL, DialogProcSignIn);
    
        return 0;
    }
    
    //用户登录对话框处理函数
    INT_PTR CALLBACK DialogProcSignIn(HWND hdlg, UINT msg, WPARAM wParam, LPARAM lParam) {
        switch (msg)
        {
        case WM_COMMAND:
        {
            switch (LOWORD(wParam)) {
            case IDC_BUTTON1:
            {
                wchar_t username[20];
                wchar_t pwd[30];
                //获取文本框的用户名和密码
                GetDlgItemText(hdlg, IDC_EDIT1, username, sizeof username);
                GetDlgItemText(hdlg, IDC_EDIT2, pwd, sizeof pwd);
    
                //由于接口使用的用户名和密码都是std::string类型,要先把WCHAR*转为string
                string name = WcharToString(username), passwd = WcharToString(pwd);
    
                //若用户名与密码和记录中的相匹配,则userLogIn返回true
                if (agendaService.userLogIn(name, passwd)) {
                    //跳转到会议管理对话框
                    DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DialogProcMeetingManagement);
                }
                else {
                    MessageBox(hdlg, L"用户名或者密码错误!", L"用户登录", MB_OK);
                }
            }
            break;
            case IDC_BUTTON2:
            {
                EndDialog(hdlg, IDC_BUTTON2);
                //跳转到用户注册对话框
                int actionSignUp = DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG3), NULL, DialogProcSignUp);
            }
            break;
            }
        }
        break;
        case WM_SYSCOMMAND:
        {
            if (wParam == SC_CLOSE) {
            //防止用户不小心点到关闭窗口
                if (MessageBox(hdlg, L"确定退出程序?", L"提示", MB_OKCANCEL) == IDOK) {
                    PostQuitMessage(0);
                }
            }
        }
        break;
        }
        return (INT_PTR)FALSE;
    }
    
    //用户注册对话框处理函数
    INT_PTR CALLBACK DialogProcSignUp(HWND hdlg, UINT msg, WPARAM wParam, LPARAM lParam) {
        switch (msg)
        {
        case WM_COMMAND:
        {
            switch (LOWORD(wParam)) {
            case IDC_BUTTON9:
            {
            //获取定义一个User类的信息
                wchar_t username[20], phone[20], email[30];
                wchar_t pwd1[30], pwd2[30];
                GetDlgItemText(hdlg, IDC_EDIT4, username, sizeof username);
                GetDlgItemText(hdlg, IDC_EDIT5, pwd1, sizeof pwd1);
                GetDlgItemText(hdlg, IDC_EDIT6, pwd2, sizeof pwd2);
                GetDlgItemText(hdlg, IDC_EDIT7, phone, sizeof phone);
                GetDlgItemText(hdlg, IDC_EDIT8, email, sizeof email);
                //密码需要输入两次,两次必须一致,但是这里没有判断是否为空
                int valid_pwd = wcscmp(pwd1, pwd2);
                if (valid_pwd != 0) {
                    MessageBox(hdlg, L"密码不一致!", L"提示", MB_OK);
                    break;
                }
                //调用注册用户的接口
                if (agendaService.userRegister(WcharToString(username), WcharToString(pwd1),
                    WcharToString(email), WcharToString(phone)) == true) {
                    if (MessageBox(hdlg, L"确定注册用户?", L"提示", MB_OKCANCEL) == IDOK) {
                        EndDialog(hdlg, IDC_BUTTON9);
                        //跳转回用户登录对话框
                        DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG2), NULL, DialogProcSignIn);
                    }
                } else {
                    MessageBox(hdlg, L"注册失败,该用户已存在", L"提示", MB_OKCANCEL);
                }
            }
            break;
            case IDC_BUTTON10:
            {
            //点击取消按钮,也是跳转到用户登录对话框
                EndDialog(hdlg, IDC_BUTTON10);
                DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG2), NULL, DialogProcSignIn);
            }
            break;
            }
        }
        break;
        case WM_SYSCOMMAND:
        {
            if (wParam == SC_CLOSE) {
            //点击关闭窗口,也是跳转到用户登录对话框
                EndDialog(hdlg, SC_CLOSE);
                DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG2), NULL, DialogProcSignIn);
            }
        }
        break;
        }
    
        return (INT_PTR)FALSE;
    }

    运行结果

    此文件保存用户信息,第一列为名称,第二列为密码
    这里写图片描述
    输入正确的用户名与密码能够跳转到第二个页面
    这里写图片描述
    这里写图片描述
    点击退出登录,退回用户页面
    这里写图片描述
    点击注册,填入信息
    这里写图片描述
    密码不一致时弹出错误提示
    这里写图片描述
    注册成功,跳回登录页面,可以成功登录
    这里写图片描述
    查看用户记录文档,成功写入
    这里写图片描述

    展开全文
  • 1. Electron:js开发界面,可用cpp扩展 2. PyQt5: Py开发界面,可用cpp扩展 3. QWebView:js开发界面,py cpp做后端(非界面部分) 比开发速度,上面三个方案完爆c# Qt5以后,Qt全面使用gpu加速绘制。 微软自己都很...

    1. Electron:js开发界面,可用cpp扩展
    2. PyQt5: Py开发界面,可用cpp扩展
    3. QWebView:js开发界面,py cpp做后端(非界面部分)

    比开发速度,上面三个方案完爆c#
    Qt5以后,Qt全面使用gpu加速绘制。
    微软自己都很少用 WPF,做个 vscode还要去用 electron。

    界面脚本化是大势所趋,弄个界面就该快,改两行代码按个快捷就该跑起来,避免改个文件一编译就等半天,或者出个bug找两天:

    编码-测试-编码 这个核心工作流越短越好。上面三个方案都跨平台,况且人的时间本来就有限,上面几门技术学了你不亏,其他好多地方都用得上,关键是开发效率都比c#高。

    再比较下性能:https://www.youtube.com/watch?v=8O-0k4MLKs8
    Qt 5.6 MinGW 和 .NET 4.5 WPF 跑同一个测试,Qt 的速度是 WPF的两倍!

    主要是两个技术序列:

    1. 基于web技术的桌面产品,比如vscode,atom,Slack,网易云音乐,钉钉之类的成熟应用挺多,文档也丰富,问问题有人答,搜问题搜得到。

     


    短短两年间,这么多来自微软,Facebook, Slack,Docker等公司的桌面产品使用 Electron开发出来,更多的可以到:Electron Apps 自己看。

     

    2. 基于PyQt的桌面产品:DropBox client, R Studio, Calibre, Eric Python IDE, Spyder, PDF Catalog Creator for Magento,出活快,写小工具用它根飞一样,做专业系统可以和C++Qt无缝整合。

     

    R Studio

     

     

    Spyder

     

    上面两张 R Studio / Spyder 的截图,PyQt做的,不算简单吧,这界面,想看酷炫的可以去看 PyQt的 demo,不要觉得 PyQt有多大, DropBox客户端打包出来 24MB,比很多手机app都小。

    Electron 内核整合了 NodeJS,所有 NodeJS能用的模块 js都能用,比如:
    node-ffi/node-ffi 模块,可以让你直接调用 C++写的动态库,不需要用C++写个node扩展:

    var ffi = require('ffi');
    
    var libm = ffi.Library('libm', {
    'ceil': [ 'double', [ 'double' ] ]
    });
    libm.ceil(1.5); // 2
    
    // You can also access just functions in the current process by passing a null
    var current = ffi.Library(null, {
    'atoi': [ 'int', [ 'string' ] ]
    });
    current.atoi('1234'); // 1234
    

     

    Python/PyQt也有类似的接口。

    WPF线上产品不考虑,不要看着你们办公室没人用xp就以为天下没xp了,你去二三线城市的网吧里看看,大范围的xp。现在这个时间点国内还有 45%的电脑跑xp,这问题三年内不会缓解,你要做线上系统你基本不可能抛弃这群用户,做内部工具又没有上面三个快捷,更何况跨平台问题。

    虽然我承认 C#是一门好语言,但堆逻辑还是没有 js,python之类的快,且不管 C#还是 WPF,应用面太窄,学会了将来能用的地方也不多,不值得投入。而上面我给你推荐的三套方案,所涉及到的技术应用范畴都广的多,比如你学会了js/Electron,可以无缝把你桌面应用迁移到 web上,比如同时开发web版本,可以稍微该一下做成移动app,学了python/qt,也有好多别的事情可以做。

    所以,学一个东西要考虑它本身的价值

    ps:用过win32,owl,vcl,mfc,c#,tk,wx,手撸DirectUI,qt

    不会坑你

     

    展开全文
  • 网友这么回复:“windows平台的最方便快捷应该是c#, visual studio”。 我的疑问是果真如此吗?我目前想做个界面界面或调些ftp的功能,VS+C#可行吗?
  • qt for windows还是直接使用VC++的MFC呢? 初步接触图形界面开发,想确定一个方向学习,或者是大大们还有什么其他IDE推荐的吗?
  • .Net开发Windows服务初探 1 什么Windows服务 Windows服务应用程序是一种需要长期运行的应用程序,它对于服务器环境特别适合。它没有用户界面,并且也不会产生任何可视输出。任何用户消息都会被写进Windows...
  • 之前在windows开发的winForm程序,最主要的就是操作硬件设备(串口通讯或者调用硬件DLL),Socket通讯。现需要在Linux下开发一款功能相同的程序(有图形交互界面),...
  • 这样导致了做 Windows 桌面应用开发的人越来越少——原来做这方面的人很多都转方向了,职场新人也很少会选择 Windows 桌面开发的方向。 其实我大小就不喜欢基于 Windows开发——做的很多 Windows 应用程序都是...
  • 什么是Qt? Qt是用于台式机,嵌入式和移动设备的跨平台应用程序开发框架。支持的平台包括Linux,OS X,Windows,VxWorks,QNX,Android,iOS,BlackBerry,Sailfish OS等。 Qt本身不是一门编程语言。它是一个C++...
  • python开发绚丽的windows程序 (1)

    千次阅读 2013-05-09 18:38:43
    python是一种快速开发的脚本语言,我在工作中经常它,它写一些...但是,我做项目都是c++,界面库都是direct ui,没有过python开发界面程序,而我也不想再去学python的界面库了。于是萌生一个想法,为什么不把d
  • 1 什么Windows服务 Windows服务应用程序是一种需要长期运行的应用程序,它对于服务器环境特别适合。它没有用户界面,并且也不会产生任何可视输出。任何用户消息都会被写进Windows事件日志。计算机启动时,服务会...
  • ====================================================== 注:重要!...一周前,微软首次向外界展示了其下一代操作系统的用户界面,评论圈的大部分反应是积极的,然而程序员们却感到忧心忡忡:因为他
  • .Net开发Windows服务初探 (ZZ)

    千次阅读 2006-03-29 17:18:00
    1 什么Windows服务 Windows服务应用程序是一种需要长期运行的应用程序,它对于服务器环境特别适合。它没有用户界面,并且也不会产生任何可视输出。任何用户消息都会被写进Windows事件日志。计算机启动时,服务会...
  • 能运行于所有的主流平台包括 Windows、Linux、Unix 及 Mac OS;多线程多连接。所有这些 功能特性在同类工具中表现突出,甚至是本工具独有的! 还有,它能快速显示SQL的解释计划;能运行/调试 PL/SQL 语句;精确的...
  • 博主最近忙碌着我的个人博客网站的开发,刚学习了前端和后端联调,make一下,以防忘记 第一步,你有一个后端程序,以及一个前端程序。接口什么的都要写好 第二步,下载nginx并安装 官网下载地址 安装教程(博客园大佬...
  • WTL 8.1 界面开发

    2015-02-13 11:25:26
    WTL 是 Windows Template Library 的缩写,由微软的ATL(Active Template Library) 小组开发,主要是基于 ATL 对Win32API 的封装。从 2.0 后,功能逐步完善,成为了一个完整的支持窗口的框架(windows framework)。 ...
  • 唠叨一下不喜勿碰:工作做了这么久了,装机器都是不要图形界面的,今天突然开发要一台需要图形界面的,这也很简单,装系统的时候装上就可以了,但是尼玛还要能在windows下远程连接,这也就算了,居然说是mstsc ...
  • 写这个项目之前,应该声明一下,这个项目具体是WINDOWS MOBILE上还是WINDOWS CE上还没有确定,而本人呢也不知道WINDOWS MOBILE和WINDOWS CE在开发时有什么区别,大体上讲就是说到现在为止,我对移动设备的开发是...
  • 如果你是在windows平台上做GUI开发,MFC是一个很好的选择,毕竟windows累积用户群庞大,市场接受程度高。但是,学习MFC不仅仅要学习MFC,还要学习MFC的框架设计思想。 如果仅仅会MFC的话,可能在找工作的时候,...

空空如也

空空如也

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

windows开发界面用什么