我有我的类,它应该代表按钮(垫,如果我需要具体的话)。现在我想知道是否可以在我的 QMainWindow 类中绘制它们。
在应用程序的第一个版本中,我在 QtCreators 设计器中创建了按钮。但现在我想通过代码创建它们。如前所述,已经有了 Pad 类,我希望在其中具有位置、文本和其他行为。现在我的类(class)很差:
#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 一样。
你能帮助大家吗?
最佳答案
要使用自定义类作为 UI 小部件,它必须继承自 QWidget
,它提供了必要的接口(interface)和已经有很多实现(您可以覆盖它们以自定义行为)。
要使小部件表现得像按钮,建议使用 QAbstractButton
或其派生之一作为基类,因为它们已经提供了大部分行为,并且自定义比将所有功能添加到普通的 QWidget
更容易。
此类可以作为自定义小部件添加到 Qt Designer ,因此您可以像对话框和布局中的任何原始 Qt 小部件一样使用它。
您可以在网上和 here 上找到很多有关自定义小部件的教程和常见问题解答,因此对于任何掌握 Qt 和 C++ 基础知识的人来说,入门应该很容易。
关于c++ - 在 QT 中创建自定义按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46111132/