V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
8023
V2EX  ›  Qt

关于 QT 的一些疑问.

  •  
  •   8023 ·
    8023 · Aug 7, 2016 · 24211 views
    This topic created in 3553 days ago, the information mentioned may be changed or developed.

    最近在学 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 replies    2016-08-07 15:43:04 +08:00
    sc3263
        1
    sc3263  
       Aug 7, 2016   ❤️ 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  
       Aug 7, 2016 via iPhone   ❤️ 1
    忘说了。深入学习的话,推荐看 Qt 自带的文档。
    billlee
        3
    billlee  
       Aug 7, 2016
    Designer 不应该是翻译成「设计器」吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   876 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 22:12 · PVG 06:12 · LAX 15:12 · JFK 18:12
    ♥ Do have faith in what you're doing.