V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mingzhi
V2EX  ›  Qt

除 Qt 外,有什么好的跨平台的 C++ UI 库么.

  •  
  •   mingzhi · 2014-04-21 16:50:10 +08:00 · 22685 次点击
    这是一个创建于 3869 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言  ·  2014-04-22 10:21:25 +08:00
    就是主要想支持win,OSX,linux这三个平台
    Qt用过,不是很喜欢那套signal and slot
    27 条回复    2014-05-02 16:26:53 +08:00
    ibudao
        1
    ibudao  
       2014-04-21 16:51:27 +08:00
    wxwidgets?
    Monad
        2
    Monad  
       2014-04-21 20:49:13 +08:00
    楼上加一
    pezy
        3
    pezy  
       2014-04-21 23:41:26 +08:00   ❤️ 1
    Qt已经很好了啊。
    kqz901002
        4
    kqz901002  
       2014-04-21 23:42:17 +08:00   ❤️ 1
    ritksm
        5
    ritksm  
       2014-04-21 23:54:16 +08:00   ❤️ 1
    GTK可以算么...233
    lch21
        6
    lch21  
       2014-04-21 23:58:22 +08:00   ❤️ 1
    webkit
    Livid
        7
    Livid  
    MOD
       2014-04-22 02:29:21 +08:00   ❤️ 1
    jjgod
        8
    jjgod  
       2014-04-22 02:37:54 +08:00   ❤️ 1
    @Livid: 这不是什么好推荐,现在没什么人这么用了。
    lm902
        9
    lm902  
       2014-04-22 05:03:31 +08:00   ❤️ 1
    Gtk可以用C++,或者用WinForms+Mono跨平台
    FrankHB
        10
    FrankHB  
       2014-04-22 09:23:56 +08:00   ❤️ 1
    要看什么叫“好”的。
    如果说必须考虑用户基数以及库、资料和开发工具齐全程度,跟Qt能相提并论的,没有。(虽然老实说代码质量也不咋样。)
    wxWidgets基本可以看成跨平台版的MFC。当然也算一直在进步,不过能指望到什么程度,你懂的。
    GTK嘛,要C++ binding就是gtkmm……Windows上表现可好?
    说到底还要看你需求。比如至少你得明确需要跨什么平台。
    否则自己随便写都行,比如: https://bitbucket.org/FrankHB/yslib。
    NovemberEleven
        11
    NovemberEleven  
       2014-04-22 09:29:36 +08:00   ❤️ 1
    node-webkit算嘛?
    missdeer
        12
    missdeer  
       2014-04-22 09:30:23 +08:00   ❤️ 1
    三四年前还不好说,现在绝对可以说wx和gtk比Qt差远了
    FrankHB
        13
    FrankHB  
       2014-04-22 09:41:39 +08:00   ❤️ 1
    @kqz901002 看了下进度,好像就底层一些库兼容g++4.8.1,UI没得用。包装Win32太多的东西移植到X11 backend显然没那么简单。
    acrosync
        14
    acrosync  
       2014-04-22 09:45:48 +08:00   ❤️ 1
    learnshare
        15
    learnshare  
       2014-04-22 10:48:45 +08:00   ❤️ 1
    应用不复杂的话,node-webkit 都行
    Cambrian07
        16
    Cambrian07  
       2014-04-22 11:19:25 +08:00   ❤️ 1
    比较喜欢Qt
    jamiesun
        17
    jamiesun  
       2014-04-22 12:33:35 +08:00   ❤️ 2
    qt相当不错了,视图分离的模式非常棒.文档清晰,实例丰富.跨平台

    你还要要求多少呢


    import sys
    from PyQt5 import QtGui
    from PyQt5.QtCore import pyqtSlot
    from PyQt5.QtWidgets import QApplication, QWidget,QMainWindow,QStyleFactory
    from PyQt5.uic import loadUi

    class MainApp(QMainWindow):
    def __init__(self, *args):
    super(MainApp, self).__init__(*args)
    loadUi('ui/main.ui', self)
    self.mainPanel.clear()
    self.panels = {}


    @pyqtSlot()
    def on_optionAction_clicked(self):
    if self.mainPanel.count() >= 4:
    self.mainPanel.removeTab(0)
    idx = self.mainPanel.addTab(loadUi("ui/options.ui"),u"参数管理")

    @pyqtSlot(int)
    def on_mainPanel_tabCloseRequested(self,idx):
    view = self.mainPanel.widget(idx)
    view.deleteLater()
    self.mainPanel.removeTab(idx)



    app = QApplication(sys.argv)
    widget = MainApp()
    widget.show()
    sys.exit(app.exec_())
    smallghost
        18
    smallghost  
       2014-04-22 14:37:03 +08:00   ❤️ 1
    支持QT,没有比QT好的了
    waitgroup
        19
    waitgroup  
       2014-04-22 14:57:48 +08:00   ❤️ 1
    @jjgod activestate累觉不爱.
    wwqgtxx
        20
    wwqgtxx  
       2014-04-22 21:08:15 +08:00 via Android
    swt(java)+jni(cpp)
    xixi10111011
        21
    xixi10111011  
       2014-04-22 21:45:02 +08:00
    @pezy @smallghost @jamiesun @Cambrian07 QT该如何学习? 没有GUI经验
    stockss
        22
    stockss  
       2014-04-22 22:42:46 +08:00
    fox-toolkit
    batfree
        24
    batfree  
       2014-04-23 00:08:22 +08:00 via Android
    qt是最好的了。另外是html了
    funcman
        25
    funcman  
       2014-04-23 02:36:52 +08:00
    Qt是最佳选择,没有之一。
    不要纠结什么纯洁的C++,GUI库没有哪个是那么纯洁的。

    易用性是最重要的。
    我用过的C++ GUI开发工具,除了BCB,Qt是最简单的。

    不过,不要高估了Qt的跨平台性,很多细节上,你需要专门为目标平台写代码。

    一流的桌面程序开发商,基本上都有自己的快平台GUI技术,比如Adobe。
    他们可以根据自己软件的需求,做一堆控件。
    而Qt这样的库,为了更广的通用性,控件库有不少小问题。

    如果界面很重要,我觉得还是不要用跨平台的技术。
    采用系统推荐的,比如Windows下地WPF,OSX下的Cocoa。
    像QQ这样的软件,GUI都不考虑一套代码横跨多个平台。

    类似node-webkit的东西,应该是以后的方向,不过现在它能做到得还太少。
    如果你能把核心功能独立成一个个api调用,那用用node-webkit还是可以的。
    ShakeChan
        26
    ShakeChan  
       2014-05-01 23:47:35 +08:00
    @mingzhi Hi,请问mingzhip#G妹儿这个邮箱是你的吗?
    wakorias
        27
    wakorias  
       2014-05-02 16:26:53 +08:00
    以前用过Qt来开发电力监控系统
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2685 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 03:44 · PVG 11:44 · LAX 19:44 · JFK 22:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.