首页
学习
活动
专区
圈层
工具
发布

【从零开始的Qt开发指南】(十四)Qt 窗口之“三剑客”:工具栏、状态栏、浮动窗口进阶实战指南

//如果状态栏已经在窗口中存在,这样的设置其实意义不大,但是也没有副作用,仍然保留 this->setStatusBar(statusBar); //显示一个临时的信息...四、浮动窗口(QDockWidget):灵活扩展的 “功能面板” 浮动窗口(又称铆接部件)是 Qt 中实现灵活布局的核心组件,围绕中央部件分布,支持停靠、浮动、隐藏等特性。...浮动功能:可从主窗口分离,以独立窗口形式存在,支持拖拽移动。 嵌套支持:多个浮动窗口可停靠在同一区域,形成标签页式布局。 与中央部件联动:浮动窗口的显示 / 隐藏不影响中央部件的功能。...QDockWidget* dockWidget = new QDockWidget(); //使用addDockWidget方法,把浮动窗口加入到子窗口中 this->addDockWidget...浮动窗口的核心价值是辅助中央部件实现功能,通过信号槽机制可实现两者的联动(如选择浮动窗口中的文件,中央部件显示文件内容)。

46221
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    初步学习Qt布局

    当布局通过这种方式设置到widget,它将负责以下任务: l 子widget的定位 l 窗口的合理默认空间 l 窗口的合理最小空间 l 调整大小处理 l 当内容发生变化时自动调整 n 字体、...,在创建子widget时,没必要给它传递父类。...在布局上,可以使用addLayout来嵌套布局;被嵌套的布局,将变成上层布局的子布局。 向布局添加widgets 添加布局到widgets时,布局过程执行如下: 1....当设置QDockWidget or a QScrollArea widget时(用QDockWidget::setWidget() andQScrollArea::setWidget()),布局必须已经被设置到...窗体小部件可以显示数据和状态信息,接受用户输入,和提供组织其他窗体小部件的容器。 没有嵌入到父级窗体小部件的部件被称为窗口(window)。

    8.1K10

    初学Qt不会样式表怎么办,打包好的Qt样式表一键生成送给你。

    可能细心读者已经发现了,至此,我们上面所说的这些样式是固定样式,通俗一点就是不会动,为了能给用户更好的体验和互交,软件界面的按钮或者什么功能控件,当鼠标滑过或者按下去,控件本身就会发送变化,伪状态就是运用到了这里...滑块(红色)的凹槽使用:: groove设置样式。默认情况下,凹槽位于窗口小部件的“内容”矩形中。 滑块(绿色)的拇指使用:: handle子控件设置样式。子控件在凹槽子控件的“内容”矩形中移动。...因此,以下样式表指定当鼠标悬停在QPushButton上时,QPushButton应该具有白色文本,而不是红色文本: QPushButton:hover { color: white } QPushButton...八.级联和遗产 1.级联 可以在QApplication父窗口小部件和子窗口小部件上设置样式表。...当发生冲突时,无论冲突规则的特殊性如何,始终要优先于任何继承的样式表使用窗口小部件自己的样式表。同样,父窗口小部件的样式表优先于祖父母的样式表等。

    6.3K73

    Qt Designer基本控件介绍——Containers(容器)

    QScrollArea滚动区域控件类,提供了关于另一个窗口的滚动的视图,一个滚动区域通常用来显示一个子窗口。...可以填充一些小控件,但是同一时间只有一个小控件可以显示。...它是放置在QMainWindow中的中央窗口小部件周围的停靠窗口小部件区域中的次要窗口。QDockWidget由一个标题栏和内容区域组成。标题栏显示浮动窗口小部件窗口标题,浮动按钮和关闭按钮。...featuresChanged: 停靠窗口的特性发生了改变时发射该信号; topLevelChanged: 停靠窗口的浮动属性发生了改变时发射该信号; allowedAreasChanged: 停靠窗口的允许停靠区域发生了改变时发射该信号...; visibilityChanged: 停靠窗口的可视属性(显示/隐藏)发生改变时发射该信号; dockLocationChanged: 停靠窗口的位置发生了改变时发射该信号。

    6.9K41

    Python Qt GUI设计:QTabWidget、QStackedWidget和QDockWidget容器控件类(提升篇—2)

    通过单击各选项卡可以查看对应的页面。如果在一个窗口中显示的输入字段很多,则可以对这些字段进行拆分,分别放置在不同页面的选项卡中。...,使用QStackedLayout布局,可以填充一些小控件,但同一时间只有一个小控件可以显示。...容器控件类 QDockWidget是一个可以停靠在QMainWindow内的窗口控件,它可以保持在浮动状态或者在指定位置作为子窗口附加到主窗口中。...QDockWidget类中的常用方法如下表所示: 通过示例,了解QDockWidget容器控件类的使用方法,效果如下所示: 示例中,顶层窗口是一个QMainWindow对象,QTextEdit对象是它的中央小控件...,创建可停靠的窗口items,然后,在停靠窗口items内添加QListWidget对象,最后,将停靠窗口放置在中央小控件的右侧。

    3.2K20

    Qt5-QtWidgets篇

    setWindowTitle() 设置窗口大小 setFixedSize() 设置固定窗口大小 QT中的对象树 当创建的对象在堆区的时候,如果指定的付钱是QObject 派生下来的类或者子类 派生下来的类...); + stBar->addPermanentWidget(label1); 铆接部件 QDockWidget * 铆接部件可以有多个 + QDockWidget *...res 生成 res.qrc 右键res.qrc->open in editor 编辑资源 添加前缀 添加文件 使用 “: + 前缀名 + 文件名” 小总结 + 只能有一个的是set 可以允许多个是add...实际上就是objectName指定的值 伪状态 :active 当小部件驻留在活动窗口中时,将设置此状态 :checked 该控件被选中时候的状态 :hover 鼠标在控件上方 :pressed...该控件被按下时的状态 :disabled 该控件禁用时的状态 :first 该控件是第一个(列表中) :focus 该控件有输入焦点时 动画 QPropertyAnimation

    2.2K20

    qt 如何设计好布局和漂亮的界面。

    前言 ​       曾几何时,我们都在黑框框下度过,我们受够了被黑框框支配的恐惧,想要跳出去,去看看外面,我们听够了类似于界面只是皮肤,背后的代码才是王道的话语,当你觉得黑框框已经满足不了你的时候,...使用属性中的handleWidth可调节组件之间的间距。 属性中的opaqueResize默认情况下(打勾),使用鼠标拖动分割子窗口间的边界时,子窗口会动态的改变其大小。...QDialog QPushButton:匹配所有QPushButton实例,这些实例是QDialog的后代(子代等)。 ?...如上图QTabWidget组件,它的原型是下图,对于样式复杂的窗口组件(该组件又由几个小组件构成),必须访问窗口小部件的子控件,对其进行单独使用样式表,直接右键对QTabWidget使用样式表是不可用的...悬停:hover ? 不悬停:!hover ? 悬停并选中 :hover:checked ?悬停并按下:hover:!

    12.2K41

    Python Qt GUI设计:QTabWidget、QStackedWidget和QDockWidget容器控件类(提升篇—2)「建议收藏」

    通过单击各选项卡可以查看对应的页面。如果在一个窗口中显示的输入字段很多,则可以对这些字段进行拆分,分别放置在不同页面的选项卡中。...,使用QStackedLayout布局,可以填充一些小控件,但同一时间只有一个小控件可以显示。...容器控件类 QDockWidget是一个可以停靠在QMainWindow内的窗口控件,它可以保持在浮动状态或者在指定位置作为子窗口附加到主窗口中。...QDockWidget类中的常用方法如下表所示: 通过示例,了解QDockWidget容器控件类的使用方法,效果如下所示: 示例中,顶层窗口是一个QMainWindow对象,QTextEdit对象是它的中央小控件...,创建可停靠的窗口items,然后,在停靠窗口items内添加QListWidget对象,最后,将停靠窗口放置在中央小控件的右侧。

    4.1K10

    JupyterLab 新版本更新!

    建议可以在输入时调用,也可以使用可配置的快捷键(默认为 Alt + \)手动调用。当鼠标悬停在幽灵建议上时,默认的键盘快捷键会显示在小部件中。...从跟踪记录中打开文件 现在,代码错误跟踪检测到的文件路径已经转换为链接。...当文件位于Jupyter根目录中时,这些链接会打开相应的文件以进行编辑;如果文件在根目录之外,且当前内核支持调试器,这些链接将以只读模式打开预览。...窗口模式的虚拟滚动条 窗口笔记本现在有一个可选的滚动条,可显示活动单元格和选定单元格。用户可以跳转到特定单元格。...,会显示通知提示该单元格尚未执行(这是选择性的,需要在设置中启用) 改进全窗口模式 全窗口模式下的笔记本只渲染可见单元格,大大提高了应用程序的性能。

    2.8K10

    Qt容器组件(一)之QGroupBox、QScrollArea、QToolBox、QTabWidget

    QMdiArea、停靠窗口QDockWidget。...分组框通常带有一个边框和一个标题栏,作为容器部件来使用,在其中可以布置各种窗口部件。分组框的标题通常在上方显示,其位置可以设置为靠左、居中、靠右、自动调整这几种方式之一。...位于分组框之中的窗口部件可以获得应用程序的焦点,位于分组框之内的窗口部件是分组框的子窗口,通常使用addWidget()方法把子窗口部件加入到分组框之中。   ...setCheckable(true); pGroupBox->show(); return a.exec(); } 二、QScrollArea滚动区   QScrollArea滚动区组件用来显示子控件的内容的框架...:takeWidget()   删除QScrollArea的子控件   QWidget *QScrollArea::widget()const   返回QScrollArea的子控件 (3)示例 #include

    3.4K30

    加点JavaScript魔法

    其中一个组件是Popover(弹窗),在文档中将其描述为“用于容纳辅助信息的小的覆盖窗口”。这正是我需要的!...使用“悬停”模式时,只要你将鼠标指针放在目标元素中,弹出窗口就会保持可见状态。当你移开鼠标时,弹出窗口将消失。这具有糟糕的副作用,即如果用户想要将鼠标指针移动到弹出窗口中,弹出窗口将消失。...我可以扩展悬停事件以包含弹出窗口,就是将弹出窗口作为目标元素的子元素,这样悬停事件就会继承。通过查看文档中的弹出选项,可以通过在container选项中传递父元素来完成此操作。...针对弹出行为,你只想鼠标停留在元素上一段时间才能激活,以防当鼠标指针短暂通过元素但不停留在元素上时出现弹出闪烁。由于该事件不支持延迟,因此这是我需要自己实现的另一件事情。...我已经用manual触发模式,HTML内容,没有淡入淡出的动画(这样它就会更快地出现和消失)配置了这个弹出窗口,并且我已经将父元素设置为元素本身,所以悬停行为通过继承扩展到弹出窗口。

    5.7K10

    【愚公系列】2023年12月 Winform控件专题 StatusStrip控件详解

    当工具栏宽度不足以容纳所有控件时,会自动将部分控件隐藏在菜单中。 Vertical:垂直排列。将工具栏内的各子控件按照垂直方向排列,可使用工具栏显示所有控件,但是占用的窗口空间较大。...1.6 ShowItemToolTips ShowItemToolTips属性是StatusStrip控件的一个布尔类型属性,如果设置为True,则当鼠标悬停在StatusStrip控件中某个子控件上时...这样,当鼠标悬停在这两个子控件上时,就会显示它们的ToolTip提示信息。 2.常用场景 StatusStrip控件通常用于显示程序的状态信息,如进度条、消息提示、时间、版本号等等。...在程序启动时,模拟了一个加载的过程,并在进度条中显示进度,加载完成后隐藏进度条。同时,启动了一个定时器,在每隔1秒钟时更新时间Label的内容。...最后,我们还设置了ShowItemToolTips属性为true,使得当鼠标悬停在状态栏上时,会显示提示信息。 我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!

    2.1K21

    FPGA 之 SOPC 系列(二)SOPC开发流程及开发平台简介

    完成后,点击左上部子窗口的目录树上有关组件,再点击该子窗口下面标记为Add..的按钮,随即可以在右上部子窗口的Module Name列观察到系统中添加了相应的部件。...部件之间的连接的确定: 从上图所示的窗口中,我们可以看到NiosII 处理器已经生成,有几条黑色的弧线表示该处理器部件之间的连接。...6、系统构成部件的重新命名和系统的标识符。 为了在编写软件程序时,容易记住和理解所添加的硬件部件, 给这些部件重新命名是很有意义的。...这些头文件定义了存储器 映射 (mapping)、中断优先级和每个外设寄存器空间的数据结构。一旦Nios II系统的硬件需要修改,则 SoPC Builder 将会更新这些头文件。...系统生成过程中,在标签为System Generation的子窗口中将报告生成过程的进展,最后会出现一条消息,告诉用户:系统已顺利生成或者已经失败。

    1.7K10

    A Discriminatively Trained, Multiscale, Deformable Part Model

    虽然可变形部件模型已经变得相当流行,但它们的价值还没有在PASCAL挑战等困难的基准测试中得到证明。我们的系统还严重依赖于新方法的甄别培训。...检测窗口的分值是根过滤器在窗口上的分值加上部分的和,该部分的最大位置超过该部分,部分过滤器在最终子窗口上的分值减去变形成本。这类似于经典的基于部件的模型。...首先将图像划分为8x8个不重叠的像素区域,即单元格。对于每个单元格,我们在该单元格中累积像素上梯度方向的一维直方图。这些柱状图捕捉局部形状特性,但对小变形也有一定的不变性。...我们贪婪地从正能量最大的根滤波器中选择面积a的矩形区域。我们把这个区域的权重归零,然后重复,直到选择了六个部分。部件筛选器从为部件选择的子窗口中的根筛选器值初始化,但填充后处理部件的更高空间分辨率。...初始变形成本度量ai =(0,0)和bi = -(1,1)时位移的平方模量。模型更新:为了更新模型,我们构造了新的训练数据三元组。

    3.2K40

    目录

    它显示一个小的文本框,用户可以在其中输入一些文本。创建和样式化Entry窗口小部件的工作原理和Label、Button窗口小部件非常相似。...这些效果使你的Python GUI Tkinter应用程序具有一定的视觉吸引力。 了解小部件命名约定 创建窗口小部件时,只要它是有效的Python标识符,就可以给它提供任何你喜欢的名称。...尝试扩大由上一个脚本生成的窗口,以了解其工作原理。扩大窗口时,三个Frame小部件的宽度会增加以填充窗口: 但是请注意,这些Frame小部件不会在垂直方向上展开。...在上面的示例中,事件处理程序绑定到窗口本身,但是你可以将事件处理程序绑定到应用程序中的任何窗口小部件。..."当鼠标悬停在窗口小部件上方时,只要按下鼠标左键,就会发生该事件。鼠标按钮单击还有其他事件,包括""鼠标中键和""鼠标右键。

    33.8K20

    Qt官方示例-使用布局

    ❞   通常,子窗口小部件使用布局对象而不是通过显式指定位置和大小来安排在窗口内。在这里,我们构造了一个QLabel和QLineEdit控件并使用QHBoxLayout将它们并排布局。...我们构造的layout对象,通过addWidget函数提供给控件的位置和大小。布局本身在对setLayou的调用中提供给窗口本身。...只有通过布局对它们负责管理的控件(和其他布局)的影响,布局才可见。   在上面的示例中,每个控件的所有权都不是很清楚的。...由于我们构建的窗口小部件和布局没有父对象,因此我们希望看到一个空窗口以及两个包含标签和行编辑的单独窗口。...但是,「当我们告诉布局来管理标签和行编辑并在窗口上设置布局时,控件和布局本身都会被"重新父化",成为窗口的子级」。 关于更多 在「QtCreator软件」可以找到: ?

    67210

    用wxPython打造Python图形界面(上)

    图形用户界面是一个具有按钮、窗口和许多其他小部件的应用程序,用户可以使用这些小部件与应用程序进行交互。web浏览器就是一个很好的例子。它有按钮、选项卡和一个主窗口,所有内容都在其中加载。...GUI的定义 正如在介绍中提到的,图形用户界面(GUI)是在屏幕上绘制的供用户交互的界面。 用户界面有一些共同的组件: 主窗口 菜单 工具栏 按钮 文本输入 标签 所有这些项目通常称为小部件。...wxPython还支持许多其他常见的小部件和自定义小部件。开发人员将获取这些小部件,并将它们逻辑地排列在一个窗口上,以便用户与之交互。 事件循环 图形用户界面的工作原理是等待用户做一些事情。...wxPython框架有特殊的线程安全方法,你可以使用这些方法与应用程序通信,让它知道线程已经完成,或进行更新。 让我们创建一个框架应用程序来演示事件是如何工作的。...当你将panel小部件添加到框架中,并且该面板是框架的唯一子元素时,它将自动展开以填充框架。 下一步是添加一个wx.textcrl到面板。几乎所有小部件的第一个参数都是小部件应该指向哪个父部件。

    6.2K40

    Flutter Widget源码解析及实战

    对于要重新使用的窗口小部件,要比创建新的(但配置相同的)窗口小部件更有效。将有状态部分分解为带有子参数的小部件是执行此操作的常用方法。 尽可能使用`const`小部件。...(这相当于缓存窗口小部件并重新使用它。) 避免更改任何创建的子树的深度或更改子树中任何窗口小部件的类型。...例如,不是返回包含在[IgnorePointer]中的子项或子项,而是始终将子窗口小部件包装在[IgnorePointer]中并控制[IgnorePointer.ignoring]属性。...下面的例子显示了更通用的小部件`Bird`,它可以被赋予一种颜色和一个子widget,并且它有一些内部状态,可以调用一个方法来改变它。 按照惯例,窗口小部件构造函数仅使用命名参数。...didUpdateWidget:在widget重新构建时,framework会调用canUpdate来检测Widget树中同一位置的新旧节点,然后决定是否需要更新。

    2.7K20
    领券