用Qt Designer设计QAbstractButton派生按钮部件的可选中和已选中属性
在Qt中,QAbstractButton是所有按钮部件的基类,这个基类提供了许多可供派生使用的公共接口,但并不包含任何可选中或已选中属性。为了实现这个功能,我们需要在派生类中添加相应的属性并在代码中进行处理。
下面是如何在Qt Designer中设计QAbstractButton派生类的可选中和已选中属性:
- 打开Qt Designer创建一个新的widget界面。
- 从左边的控件栏中拖拽一个PushButton到界面中。
- 右键单击PushButton,并选择“转到子类”。
- 在弹出的“新的C++ 类”对话框中,输入类名并选择继承基类为“QPushButton”。
- 点击确定并保存新类。
- 在类定义头文件中添加以下代码:
class CheckablePushButton : public QPushButton
{
Q_OBJECT
Q_PROPERTY(bool checked READ isChecked WRITE setChecked NOTIFY toggled)
public:
explicit CheckablePushButton(QWidget *parent = nullptr);
bool isChecked() const;
void setChecked(bool checked);
signals:
void toggled(bool checked);
private slo