最近老板给安排了windows gui的项目需要开发,由于现在一般不想打开windows的机器(也不太方便),据说qt跨平台,不知道能不能完全在mac下开发,然后到windows下编译呢?或者有什么其他方案? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
ayang23
V2EX    程序员

最近老板给安排了windows gui的项目需要开发,由于现在一般不想打开windows的机器(也不太方便),据说qt跨平台,不知道能不能完全在mac下开发,然后到windows下编译呢?或者有什么其他方案?

  •  
  •   ayang23
    ayang23 2013-05-27 08:15:16 +08:00 17403 次点击
    这是一个创建于 4524 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言    2013-05-28 17:35:55 +08:00
    感谢各位提供建议,今天自己实验了下qt,发现qtcreater打开qt quick项目,点击设计按钮,mac下会直接卡死,win下虽不卡死,也显示不出设计的窗口元素来,感觉这个东西还不成熟,稳定性有待提高,看来只能再试试qt widget项目了,实在不行就用.net。
    第 2 条附言    2013-05-29 11:27:46 +08:00
    终于弄好了,可以在mac下开发啦。谢谢各位老师指导。用qt。再请教一下各位,用qt开发,qtcreator 下直接写代码吗?还是用sublime写代码, qt creator调试?桌面软件建议使用qml吗?
    @jamiesun
    @standin000
    @missdeer
    @chchwy
    61 条回复    1970-01-01 08:00:00 +08:00
    ritksm
        1
    ritksm  
       2013-05-27 08:16:44 +08:00
    虚拟机
    Radeon
        2
    Radeon  
       2013-05-27 08:17:41 +08:00
    在想什么呢,用QT更折腾
    ayang23
        3
    ayang23  
    OP
       2013-05-27 08:29:17 +08:00
    @ritksm 虚拟机跑vs2010吗,估计会很烫,也不知道性能怎么样

    @Radeon 哪方面折腾?跨平台呢还是本身就很折腾?我现在用c++只用过wtl,开发的项目大概是图片列表,然后点开图片显示一些信息,通过opencv库从图片上提取一些特征显示出来,最后出个统计报表。根据你的经验,怎么弄效率高点?还是必须回windows开发?
    wog
        4
    wog  
       2013-05-27 08:30:25 +08:00
    Qt可以完全在mac下开发,然后到windows下编译
    leeyanjie
        5
    leeyanjie  
       2013-05-27 08:33:04 +08:00
    python+qt,用起来要简单一些,另外wxpython,pygtk也可以考虑下。
    thedevil5032
        6
    thedevil5032  
       201305-27 08:33:27 +08:00
    如果不限定语言,可以考虑 PyQt。 之前有 Linux 下用 PyQt 做好,再在 Win 下使用的经验。
    ayang23
        7
    ayang23  
    OP
       2013-05-27 08:50:20 +08:00
    @thedevil5032 因为开发出来的系统要给生产上用,需要考虑容易部署的因素,问一下pyqt做出来东西好不好打包?
    mozartgho
        8
    mozartgho  
       2013-05-27 08:55:20 +08:00
    @ayang23 "我现在用c++只用过wtl" wtl可以在mac上用?
    ayang23
        9
    ayang23  
    OP
       2013-05-27 08:59:55 +08:00
    @mozartgho 误会,我指的是以前用过vs+wtl开发。所以现在想换个框架。
    Radeon
        10
    Radeon  
       2013-05-27 09:01:23 +08:00
    @ayang23 跨平台当然折腾了。老老实实用Winform去完成工作不好么,不要浪费时间在跨平台上。
    thedevil5032
        11
    thedevil5032  
       2013-05-27 09:07:06 +08:00
    @ayang23 因为用的 Python3 ,所以当时我打包用的 cz_freeze,用起来挺容易的。
    Ricepig
        12
    Ricepig  
       2013-05-27 09:21:02 +08:00 via iPhone
    老实用windows,否则有你折腾的,所有跨平台的语言框架都是一次编程到处调试
    missdeer
        13
    missdeer  
       2013-05-27 09:25:29 +08:00
    Qt没啥大问题,多数常见的编程需求它都提供了封装。上面那些说折腾的,不知道有没有认真用过Qt。
    inconsole
        14
    inconsole  
       2013-05-27 09:30:33 +08:00 via iPhone
    跟楼主一样的遭遇。win下只会wtl,现在有个更大的问题,就是win下程序界面的问题。这玩意好难搞
    现在的设想是用pyqt,加载webkit,再上面跑html5,解决界面美化的问题。不知道这个方案可行么;另外pyqt写的程序会不会很大,和c++好交互么。请教
    batfree
        15
    batfree  
       2013-05-27 09:33:29 +08:00
    写Windows下的程序就用Windows吧。 再跨平台,如果你自己都不用,还有什么意思。 在Mac上写Windows程序就像在纸上写程序差不多。你觉得靠谱吗?
    RisingV
        16
    RisingV  
       2013-05-27 09:35:59 +08:00   2
    对于速度要求不高的话,java swing、swt/jface皆可。至少我还没遇到跨平台问题。
    thai9quohs6jae1C
        17
    thai9quohs6jae1C  
       2013-05-27 09:40:06 +08:00
    Java +1
    ayang23
        18
    ayang23  
    OP
       2013-05-27 09:53:59 +08:00
    @inconsole 同道中人,真的不想玩ms的.net那一坨一坨的东西,本来现在做win下的东西就不多,.net进化的太快,估计这个项目学会了,下个项目就用不上了。所以从05年到现在一直坚持wtl,连mfc都不想碰。
    @batfree 是有些心虚,所以先在这请教一下再决定。我自己不用那是一定的,这是一个行业应用的项目。

    @thai9quohs6jae1C
    @RisingV java也不错,但估计部署是个麻烦,还有我要用到一些c库,比如opencv是必须的。
    jamiesun
        19
    jamiesun  
       2013-05-27 09:55:28 +08:00   5
    了解qt吗,只要你不是开发过程中要调用win32api,有什么问题呢。不管是qt c++,还是pyqt,还有qtqucik呢。

    QT做界面还弱吗,完全可以用类css样式做到任何绚丽的效果,完全的界面与逻辑分离,还不够吗。

    Qt的新版本已经对html5封装做了最大优化,新加入的V8引擎更是如虎添翼。


    几年前做了一个googlereader的客户端,运行在symbian,linux,windows上毫无问题,开发环境更是不挑剔。

    https://code.google.com/p/r2-release/
    Ricepig
        20
    Ricepig  
       2013-05-27 10:00:12 +08:00
    @ayang23 我表示,无论wtl还是mfc,均与.net木有关系。

    另外,虽然.net rich client技术进化了,但是winform还是一直坚挺啊,娃哈哈哈
    ayang23
        21
    ayang23  
    OP
       2013-05-27 10:00:40 +08:00
    @missdeer
    @jamiesun 给力!qt5貌似现在没什么学习资料,求推荐本书吧
    ayang23
        22
    ayang23  
    OP
       2013-05-27 10:05:04 +08:00
    @Ricepig 恩,看来这个也可以研究一下。c#语言据说不错,wpf前景怎么样呢,xp下能不能部署?
    inconsole
        23
    inconsole  
       2013-05-27 10:08:45 +08:00
    @Ricepig 主要是拖个N大的framework很讨厌,
    jamiesun
        24
    jamiesun  
       2013-05-27 10:11:54 +08:00
    @ayang23 主要还是看官方的参考文档和demo了,书籍啥的目前都跟不上
    ForgotFun
        25
    ForgotFun  
       2013-05-27 10:26:32 +08:00
    lbsunix
        26
    lbsunix  
       2013-05-27 10:27:08 +08:00   1
    1、Qt做界面绝对给力,Linux/Mac OS/Windows亲测流畅
    2、用QML轻松修改主题,懂CSS就懂QML
    3、Qt5刚出没多久,目前只能零碎的看一些技术博客,建议用4.8.4稳定一些
    kingwkb
        27
    kingwkb  
       2013-05-27 10:47:00 +08:00
    @jamiesun
    @lbsunix
    我之前折腾一晚上Mac QT,还是没安装成功
    shanks
        28
    shanks  
       2013-05-27 11:04:28 +08:00
    用Qt C++做个几个小项目,感觉还是相当好用的一个UI框架,而且自带不少特性,跨平台方面不需要担心,只要没使用到系统调用一般没问题吧。
    kshatriya
        29
    kshatriya  
       2013-05-27 11:20:37 +08:00
    项目需要什么 你就上什么
    pomelowu
        30
    pomelowu  
       2013-05-27 11:26:33 +08:00
    wxWidgets 也是一。另外,qt5.0其比定了,可以直接上手。
    Winny
        31
    Winny  
       2013-05-27 11:30:03 +08:00
    如果界面要求不高 程序不复杂 经典的C#(WinForm)快速解决,(实在讨厌Windows可以在OSX下用mono,但是IDE没有VS2012好用)

    如果程序比较复杂对性能有要求,那VC++之类的吧 但是总体就复杂了。
    ritksm
        32
    ritksm  
       2013-05-27 11:34:19 +08:00
    @ayang23 我觉得。。。如果是。。。工作上的安排。。。最高效率完成就行了。。。如果你自己也感兴趣。。。那么在deadline之前研究研究也未尝不可。。。

    虚拟机还好。我现在rmbp夏天没空调情况下,风扇3-4k转,温度70左右。当然编译的时候我就不晓得了,温度上去是必然的。
    chchwy
        33
    chchwy  
       2013-05-27 11:39:07 +08:00
    我自己的Qt,Mac,Windows是完全可行的。重是用Qt就用全套,像字符串就用QString,文件就用QFile,完全本地平台的API。

    求定的就用Qt4.8.4版本,我的公司目也未打算升上Qt5。

    然後有一提醒--PyQt是GPL,意味著一旦用了,整目就要源,我估大多的商目都不可能源的。
    eickegao
        34
    eickegao  
       2013-05-27 12:07:41 +08:00
    用QT完全是自虐。除非你是QT方面高手。最简单的方法是C#+WinForm。拖几个控件上去就可以了。如果东西不复杂我感觉1小时就可以搞定。
    eickegao
        35
    < href="/member/eickegao" class="dark">eickegao  
       2013-05-27 12:10:19 +08:00
    @ayang23 你搜一下C#的类似解决方案。我感觉你的需求在很多网站上都应该有现成的例子。

    我帮你找了一个你看是否符合你的要求吗?http://www.codeproject.com/Articles/20424/Image-Viewer-Control-in-C
    likuku
        36
    likuku  
       2013-05-27 12:50:17 +08:00
    dropbox 的桌面客户端(mac,win,lin) 就是QT的嘛。
    missdeer
        37
    missdeer  
       2013-05-27 12:56:04 +08:00
    Qt用Qt Creator也能拖控件,从IDE角度讲,确实不如VS那么强大好用,但也勉强够用,VS那个巨无霸慢吞吞,机器配置不够的直接虐到死。
    说用Qt需要学习成本的,难道其他方案不用学了?LZ有C++经验的用Qt顶多学下框架,用WinForm的除了类库还得学语言。
    evanmeng
        38
    evanmeng  
       2013-05-27 14:18:46 +08:00
    我只说一句:这是你的工作。
    RelativeLayout
        39
    RelativeLayout  
       2013-05-27 14:44:54 +08:00
    Python kivy http://kivy.org/
    skywinger
        40
    skywinger  
       2013-05-27 15:46:51 +08:00
    老板让你用什么,你就老老实实用什么,除非你自个是老板,乱出点子的,对他无益。
    liwei
        41
    liwei  
       2013-05-27 15:52:04 +08:00
    我觉得java比较靠谱。
    railgun
        42
    railgun  
       2013-05-27 16:21:04 +08:00
    还是要在windows下开发吧,UAC什么的,都要调试了才知道。
    不可能没有需要在windows下debug的时候。
    我觉得最接近生产环境的开发环境才是最好的。
    inSeek
        43
    inSeek  
       2013-05-27 17:02:28 +08:00
    还是觉得Win下就Win下开发。开发环境和运行环境统一才是王道。不然到时候万一出问题...苦的是自己。
    拿人工资的事情还是抛去些自己的坚持的好... 直到彻底牛逼了...
    ayang23
        44
    ayang23  
    OP
       2013-05-27 17:29:23 +08:00
    @evanmeng
    @skywinger
    @railgun
    @inSeek 感谢提醒。虽然是老板安排,自己也得考虑下一步走什么路子。因为类似的项目以后还会有,学习成本我还是可以接受的。老板对技术没要求,自己选择好的框架是为了将来少走弯路,现在小折腾,将来不折腾。以前类似的项目都是wtl搞定,现在觉得wtl在界面布局方面有些弱,还有就是自己一般用mac,不想在windows上面花时间了。不想为了这些项目单独去开机。uac之类的东西估计也用不到,只用一般的界面功能,剩下的都是opencv库搞定。
    ldehai
        45
    ldehai  
       2013-05-27 19:38:18 +08:00
    建议virtualbox跑虚拟机,xp或win2003,占用资源少.开发用vc6,效率高
    leeyanjie
        46
    leeyanjie  
       2013-05-27 20:02:15 +08:00
    @chchwy
    pyqt有GPL和商业两种协议。不过小东西买授权可能不划算。可以考虑用pyside,支持LGPL 。
    不过版本比pyqt旧一些,做传统GUI程序一般够用了。
    Ricepig
        47
    Ricepig  
       2013-05-27 21:39:32 +08:00 via iPhone
    @inconsole .net framework 2.0y一共23m,从server2003开始内置于操作系统中,大吗?
    Ricepig
        48
    Ricepig  
       2013-05-27 21:40:43 +08:00 via iPhone
    @ayang23 wpf前景不好说,目前唯一广为人知的wpf项目只有visualstudio
    LokiSharp
        49
    LokiSharp  
       2013-05-27 21:52:23 +08:00
    这种情况下还是Bootcamp吧,虚拟机的话不但发烫而且特别慢
    avatasia
        50
    avatasia  
       2013-05-27 22:05:30 +08:00
    FLEX, 想效果好就用自动桌的scaleform

    @Ricepig WPF的项目,你可以看下github的客户端,他们的blog有他们的开发流程,界面是用Blend搭的。
    n
        51
    n  
       2013-05-27 23:26:00 +08:00 via iPhone   1
    node-webkit
    zyyzj
        52
    zyyzj  
       2013-05-28 09:37:48 +08:00   1
    以前我用qt开发时干过几次类似的事,mac开发windows编译。
    经验:
    1,如chchwy说,使用全套的qt,特别是各种基础类,像字符串,文件什么的。
    2,不要使用[mac开发window编译]这种方式,各种文件编码,字符串转换,配置文件路径等等会占用你许多不必要的时间。
    standin000
        53
    standin000  
       2013-05-28 23:15:53 +08:00
    我在Windows和Linux下都用过Qt Creator,没问题啊。标准IDE,创建工程,修改所见即所得界面。已经没有qt designer了吧。
    lancy1014
        54
    lancy1014  
       2013-05-28 23:30:24 +08:00
    (我觉得我会辞职。。。。是不是我太年轻了。。
    clowwindy
        55
    clowwindy  
       2013-05-29 00:17:32 +08:00
    尝试了一下 node-webkit,真的很舒服。就是库比较大,压缩后有二十几 MB。
    greatghoul
        56
    greatghoul  
       2013-05-29 11:51:40 +08:00
    @clowwindy node-webkit 的确不错。
    yaotian
        57
    yaotian  
       2013-05-29 12:05:07 +08:00
    @clowwindy 能用在实际项目上吗?
    lingshang
        58
    lingshang  
       2013-05-29 12:12:59 +08:00   1
    我觉得qtcreator 下直接写代码就可以,也可以和sublime结合起来用,看自己喜欢吧。桌面软件也可以使用qml的,不过你最好先看看官方的QML sample,如果类似你的需要,那最好了,否则也要先提前研究下你需要的功能是否容易实现。
    yaotian
        60
    yaotian  
       2013-05-29 17:46:46 +08:00
    @clowwindy 运行你的程序,你还需要 nw.exe / node-webkit.app / nw

    这不是正常的发布程序吧?
    clowwindy
        61
    clowwindy  
       2013-05-29 21:04:27 +08:00 via iPhone
    @yaotian 实际还要打包,合并文件,改图标什么的,我就只是打包一下,其它懒得弄了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5534 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 48ms UTC 01:22 PVG 09:22 LAX 18:22 JFK 21:22
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86