qt框线中间写字如何实现

这种分区采用那种控件,框体中间的字如何加上去,是使用控件还是这种线是自己画上去的
界面分区通过什么来实现,是控件吗还是

img

外面用QGroupBox,里面用QLabel + HLine (HLine就是frameShape是HLine的QFrame,在designer里可以直接拉Horizontal Line进去)

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7663292
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:Qt九宫格,只拉伸背景的指定位置单位像素,做到背景长度适配
  • 除此之外, 这篇博客: qt 调试打印 格式化输出、重定向、消息实时分类过滤等技巧中的 特别注意,不要使用与类名称一样的类别 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 类名称 比如 ClassA
    Q_DECLARE_LOGGING_CATEGORY(ClassA)
    Q_LOGGING_CATEGORY(ClassA, “interface”)
    这样会报错 ClassA has no member name isDebugEnabled()
    不要使用与类名称一样的类别

        qCDebug(driverUsb)<<"111";
        qCDebug(interface)<<"222";
    
        qCInfo(driverUsb)<<"aaa";
        qCInfo(interface)<<"bbb";
    
        qCWarning(driverUsb)<<"ccc";
        qCWarning(interface)<<"ddd";
    
        qCritical(driverUsb)<<"eee";
        qCritical(interface)<<"fff";
    

    其中打印过滤Q_LOGGING_CATEGORY 第3参数指定类型过滤,也可以在源码中使用如下函数

        //--filter
        //--debug, info, warning, and critical.
        QLoggingCategory::setFilterRules("*.warning=false\n"
                                        "driverUsb.warning=true");
    
    

    其中 *.warning=false 表示所有分类的 warning 消息都不显示
    driverUsb.warning=true 表示driverUsb 的 warning消息 可以显示

  • 您还可以看一下 陈超老师的Qt音视频开发实战课程中的 Qt复杂控件自定义2 播放状态以及结束重置小节, 巩固相关知识点