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

关于 QT 的一些疑问.

  •  
  •   8023 ·
    8023 · 2016-08-07 13:07:21 +08:00 · 12151 次点击
    这是一个创建于 3057 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在学 QT, 看到 MainWindow 这块, 它底部有个状态栏叫 statusBar, 我想给它加一个类似进度条的玩意儿.
    当然我也查阅过资料, 大多是通过在 mainwindow.cpp 中的 MainWindow 构造函数中添加类似这样的代码:

    QProgressBar *my_progressbar = new QProgressBar(this);
    ui->statusBar->addWidget(my_progressbar, 1);
    

    还有一部分在 main.cpp 中添加代码的...
    但没有在 QT 设计师中添加控件的.


    那么问题来了:

    • 在 main.cpp 中 main 函数中添加代码和在 mainwindow.cpp 中 MainWindow 构造函数中添加代码有何区别?
    • 有没有什么可以在QT 设计师(就是那个图形化界面)中往 statusBar 添加控件的方式?(拖控件拖不进去).
    • 如果要长期深入学习 QT, 有什么推荐的教程书籍?
    • 如果要长期深入学习 QT, 应该学 QT 设计师这样图形化的设计工具还是通过代码添加 /设计控件?

    提前表示感谢.

    3 条回复    2016-08-07 15:43:04 +08:00
    sc3263
        1
    sc3263  
       2016-08-07 15:08:37 +08:00   ❤️ 1
    0.是 Qt
    1.实现效果上没啥区别。
    2.你可以通过修改 ui 文件来实现。直接在 statusBar 节点下面增加子节点就行。
    <widget class="QStatusBar" name="statusBar">
    <widget class="QProgressBar" name="processBar"/>
    </widget>
    改完之后再用 Qt Designer 打开就行了。
    3.入门看那本 C++ GUI Programming with Qt 4 。 Qt5 里面部分类的头文件位置变了。不过还是能拿来直接用的。网上有 Qt5 对应版本的范例代码。
    4.推荐 ui 和实际逻辑分开写,外观用 Design 实现。这样分工明确点。修改、维护比较方便。
    sc3263
        2
    sc3263  
       2016-08-07 15:20:40 +08:00 via iPhone   ❤️ 1
    忘说了。深入学习的话,推荐看 Qt 自带的文档。
    billlee
        3
    billlee  
       2016-08-07 15:43:04 +08:00
    Designer 不应该是翻译成「设计器」吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2856 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 607ms · UTC 11:14 · PVG 19:14 · LAX 03:14 · JFK 06:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.