我对QT开发很陌生。任何人都可以共享“如何在QT中创建自定义QPushButton”,以便自定义按钮具有与QPushButton相同的行为,仅与自定义属性不同。所以请任何线索或任何指示将有所帮助。 我已经尝试过QT自定义小部件示例中给出的模拟时钟示例。但我没有找到与QPushbutton相关的内容。提前谢谢。
答案 0 :(得分:1)
非常简单。首先,您需要子类化QPushButton。添加您的方法以增强它。你完成了。
例如,我编写了CustomButton,它有一个额外的方法来反转文本。
CustomButton.h
#ifndef CUSTOMBUTTON_H
#define CUSTOMBUTTON_H
#include <QPushButton>
class CustomButton : public QPushButton
{
public:
CustomButton( const QString& text, QWidget* parent = 0 );
// Enhancement, it will reverse the button text
void reverseText();
};
#endif // CUSTOMBUTTON_H
CustomButton.cpp
#include "CustomButton.h"
#include "algorithm"
CustomButton::CustomButton( const QString& text, QWidget* parent )
: QPushButton( text, parent )
{
}
void CustomButton::reverseText()
{
QString buttonText = text();
std::reverse(buttonText.begin(), buttonText.end());
setText( buttonText );
}
的main.cpp
#include <QApplication>
#include "CustomButton.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
CustomButton w( "MyButton" );
w.show();
w.reverseText();
a.exec();
return 0;
}
如果你想做一些与外观有关的事情。 您可以使用QStyleSheet
,而不是创建自定义按钮