我有我的班级,应该代表按钮(垫,如果我需要具体)。现在我想知道是否可以在我的QMainWindow课程中绘制它们。
在应用程序的第一个版本中,我在QtCreators设计器中创建了按钮。但是现在我想通过代码创建它们。如前所述,已经有了Pad类,我想要有位置,文本和其他行为。现在我的课很差:
#include <QObject>
class Pad
{
public:
Pad(int x, int y);
private:
int m_xPosition;
int m_yPosition;
};
以下是我创建它们的方法(其中m_pads是std :: vector)
void PadsWindow::createPads(const int &numberOfPads)
{
enablePadsWindow();
for (int index = 0; index < numberOfPads; ++index)
{
m_Pads.push_back(new Pad(10, 100));
}
}
在这里,我想在我的QMainWindow中绘制按钮,并使其像普通的QPushButton一样。
你可以帮助别人吗?答案 0 :(得分:1)
要将自定义类用作UI窗口小部件,它必须从QWidget
继承,它提供必要的接口并且已经有很多实现(您可以覆盖它们以自定义行为)。
要使窗口小部件像按钮一样,建议使用QAbstractButton
或其中一个派生作为基类,因为这些已经提供了很多行为,并且自定义比向平面添加所有功能更容易QWidget
。
此类可以作为自定义窗口小部件添加到Qt Designer,因此您可以像对话框和布局中的任何原始Qt窗口小部件一样使用它。
你可以在网上和here找到很多关于自定义小部件的教程和常见问题解答,所以对于那些掌握了Qt和C ++基础知识的人来说,入门应该很容易。