Procházet zdrojové kódy

Add comment on limitation for ctkCheckablePushButton

ctkCheckablePushButton doesn't support icon.
Julien Finet před 13 roky
rodič
revize
ce78f08c74

+ 12 - 0
Libs/Widgets/Testing/Cpp/ctkCheckablePushButtonTest1.cpp

@@ -21,6 +21,7 @@
 // Qt includes
 #include <QApplication>
 #include <QCheckBox>
+#include <QMenu>
 #include <QVBoxLayout>
 #include <QStyle>
 #include <QTimer>
@@ -51,6 +52,8 @@ int ctkCheckablePushButtonTest1(int argc, char * argv [] )
   ctkCheckablePushButton button11(QObject::tr("Not Connected, User Checkable"));
   ctkCheckablePushButton button12(QObject::tr("Checkbox Not User Checkable\nButton Checkable"));
   ctkCheckablePushButton button13(QObject::tr("Checkbox and Button User Checkable"));
+  ctkCheckablePushButton button14(QObject::tr("Checkable PushButton with menu"));
+  ctkCheckablePushButton button15(QObject::tr("Checkable PushButton with icon"));
 
   QVBoxLayout *layout= new QVBoxLayout;
   layout->addWidget(&button1);
@@ -66,6 +69,8 @@ int ctkCheckablePushButtonTest1(int argc, char * argv [] )
   layout->addWidget(&button11);
   layout->addWidget(&button12);
   layout->addWidget(&button13);
+  layout->addWidget(&button14);
+  layout->addWidget(&button15);
   topLevel.setLayout(layout);
 
   topLevel.show();
@@ -120,6 +125,13 @@ int ctkCheckablePushButtonTest1(int argc, char * argv [] )
   button13.setCheckBoxUserCheckable(true);
   button13.setCheckable(true);
 
+  QMenu menu(&button14);
+  menu.addAction("menu action");
+  button14.setMenu(&menu);
+
+  // Icons are not supported
+  button15.setIcon(button15.style()->standardIcon(QStyle::SP_ComputerIcon));
+
   if (argc < 2 || QString(argv[1]) != "-I" )
     {
     QTimer::singleShot(200, &app, SLOT(quit()));

+ 2 - 0
Libs/Widgets/ctkCheckablePushButton.h

@@ -46,6 +46,8 @@ class ctkCheckablePushButtonPrivate;
 /// \note You can automatically check the button when the user checks the
 /// checkbox by connecting the checkBoxToggled(bool) signal with the
 /// setChecked(bool) slot.
+/// \warning The checkbox is drawn in place of the pushbuton icon, any icon
+/// will then be ignored.
 class CTK_WIDGETS_EXPORT ctkCheckablePushButton : public QPushButton
 {
   Q_OBJECT