【问题标题】:QLayout inside of a QPushButtonQPushButton 内的 QLayout
【发布时间】:2012-09-10 22:47:01
【问题描述】:

我知道我可以在QPushButton 中添加IconText,但我对它们的布局不满意。 有没有办法用我想要的任何控件将QLayout 添加到QPushButton?例如,我可以有一个Icon,两行文本,然后在右边有另一个图标。

【问题讨论】:

  • 您是否尝试过继承QPushButton 并修改您的子类的布局?
  • 这是一个选项,但我希望有与 addLayout() 等效的东西,因为它只是一次性的东西,我不想只为那件事创建一个新类。
  • 您可以通过插入换行符来拥有 2 行文本。 QML 不起作用。要获得更多信息,您必须创建自己的课程。

标签: c++ qt user-interface


【解决方案1】:

我怀疑这个问题的唯一答案是从其中派生一个类:

1) QPushButton 类并重新实现绘画例程。

2) 一个满足您需求的QLayout 类,并捕获传递给它的 MouseEvents 并直接处理它们。但是较低的类也可以捕获 MousEvents,并且可能会超过你的父类看到它们,所以要小心你放入 Layout 的内容。

【讨论】:

    【解决方案2】:

    好吧,真的很丑……

    但如果您只需要一次并且不想开发自己的小部件, 你可以在QPixmap中绘制任何你想要的东西,并将其设置为普通QPushButton的图标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 2017-01-13
      • 1970-01-01
      • 2019-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多