Здравствуйте, господа форумчане. Задался тут вопросом как программно скрывать и показывать свойство собственного виджета в таблице свойств QtDesiner-а?
Используя Q_PROPERTY, удалось создать ряд свойств для своего виджета кнопки. К примеру вот 2 из них:
class CBUTTON_IND : public QPushButton
{
	Q_OBJECT
	.....................................
	Q_PROPERTY(int ThicknessBorder READ getThicknessBorder WRITE set_thickness_border NOTIFY thicknessBorderChanged)
	Q_PROPERTY(int BorderRadius READ getBorderRadius WRITE set_border_radius NOTIFY borderRadiusChanged)
 	.....................................
public:
	int thickness_border;
	int border_radius;
	.....................................
	void set_thickness_border(int thickness)
	 {
		thickness_border = thickness;
		setStyleSheet(QString("background-color: green; border: %1px solid black; border-radius: %2%;").arg(thickness_border).arg(border_radius));
	 }
 
	void set_border_radius(int radius)
	{
		border_radius = radius;
		setStyleSheet(QString("background-color: green; border: %1px solid black; border-radius: %2%;").arg(thickness_border).arg(border_radius));
	}
	int getThicknessBorder()
	{
		return thickness_border;
 	}
	int getBorderRadius()
	{
		return border_radius;
  	}
	..................................
signals:
	void thicknessBorderChanged();
	void borderRadiusChanged();
	..................................
};
Хотелось бы реализовать следующее: Если свойство ThicknessBorder установленно в дизайнере в 0, то чтобы свойство BorderRadius было недоступным (или еще лучше скрытым). 
А как только свойство ThicknessBorder устанавливается в 1, то чтобы свойство BorderRadius становилось доступным для изменения (ну или снова отображалось).
Поискав информацию, удалось добиться того, что могу скрыть свойство BorderRadius в таблице свойств Qt Desiner-а изначально, установив в коде в Q_PROPERTY флаг DESIGNABLE в false:
   Q_PROPERTY(int BorderRadius READ getBorderRadius WRITE set_border_radius NOTIFY borderRadiusChanged DESIGNABLE false)
но это не решило проблемы, так как при изменении свойства ThicknessBorder, свойство BorderRadius все равно скрытое.
Пробовал так же и следующим образом:
.............................................................
QDesignerFormWindowInterface *form ;
QExtensionManager *manager;
QDesignerPropertySheetExtension *sheet ;
..............................................................
 
form = QDesignerFormWindowInterface::findFormWindow(this);
if(form){
		QDesignerFormEditorInterface *editor = form->core();
		manager = editor->extensionManager();
		sheet = qt_extension<QDesignerPropertySheetExtension*>(manager, this);
}
.................................................................
int propertyIndex = sheet->indexOf("BorderRadius");
if(thickness_border == 0)
{
	sheet->setVisible(propertyIndex, false);
}
else
{
	sheet->setVisible(propertyIndex, true);
}
sheet->setChanged(propertyIndex, true);
...............................................................
Но почему-то метод setVisible() не срабатывает, свойство всегда отображается. 
Хотя вот следующий код сработал:
............................................................
int propertyIndex = sheet->indexOf("BorderRadius");
if(thickness_border == 0)
{
	sheet->setProperty(propertyIndex, 0);
}
else
{
	sheet->setProperty(propertyIndex, 8);
}
sheet->setChanged(propertyIndex, true);
.....................................................
при установке свойства ThicknessBorder в 0, свойство BorderRadius сбрасывается в 0; и наоборот при  ThicknessBorder !=0, BorderRadius = 8. 
Буду рад любым советам.