Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QPushButton内的QLayout_C++_Qt_User Interface - Fatal编程技术网

C++ QPushButton内的QLayout

C++ QPushButton内的QLayout,c++,qt,user-interface,C++,Qt,User Interface,我知道我可以在QPushButton中添加图标和文本,但我对它们的布局不满意。 有没有办法将QLayout添加到QPushButton中我想要的控件?例如,我可以有一个图标,两行文本,然后在右边有另一个图标。我怀疑这个问题的唯一答案是从以下任一方面派生一个类: 1一个QPushButton类并重新实现绘制例程 2一个满足您需求的QLayout类,捕获传递给它的MouseeEvents并直接处理它们。但是较低级别的类也可以捕获MousEvents,并且可能会使父类看不到它们,因此请注意布局中的内容

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

我怀疑这个问题的唯一答案是从以下任一方面派生一个类:

1一个QPushButton类并重新实现绘制例程


2一个满足您需求的QLayout类,捕获传递给它的MouseeEvents并直接处理它们。但是较低级别的类也可以捕获MousEvents,并且可能会使父类看不到它们,因此请注意布局中的内容。

好吧,这真的很难看

但是如果你只需要一次,并且不想开发自己的小部件,
您可以将所需的所有内容绘制到QPixmap中,并将其设置为普通QPushButton的图标。

您是否尝试将QPushButton子类化并修改子类的布局?这是一个选项,但我希望会有与addLayout等价的东西,因为这只是一个一次性的东西,我不想为这一点创建一个新类。通过插入换行符,可以有两行文本。QML不起作用。要了解更多信息,您必须创建自己的类。