【发布时间】:2019-12-23 11:23:06
【问题描述】:
我正在创建一个扩展 QPushButton 类的自定义小部件。我的问题是如何引用扩展QPushButton时自动放置在小部件中的按钮?很明显,获取parentWidget() 会返回上面的QMainWindow,所以我不确定调用该小部件来引用什么,无论是使用this 关键字还是其他方式。
例如,如果我的自定义类只继承QPushButton 类:
CustomButton::CustomButton(QWidget *parent)
: QPushButton(parent)
{
}
而我的MainWindow 类只是实例化了该自定义按钮的一个实例:
HomeWindow::HomeWindow(QWidget *parent)
: QMainWindow(parent)
{
CustomButton btn = new CustomButton(this);
}
Qt 自动从继承中添加一个QPushButton:
screenshot of the window
我的问题是如何访问从QPushButton 继承时自动添加的QPushButton,以便我可以处理它的点击事件并从CustomButton 类中调整它的大小。我只是想打电话给this->inheritedWidget()in CustomButton.cpp,但不知道会是什么。
谢谢!
回答:
我希望通过setMinimumSize() 的重载来处理调整大小,但无法弄清楚如何访问继承的QPushButton 小部件。您可以使用QPushButton::setMinimumSize() 或您需要调用的任何其他函数来访问继承按钮的功能。可能是一个简单的问题,但很高兴能弄清楚。谢谢大家。
【问题讨论】:
标签: c++ qt inheritance widget qpushbutton