Таблица свойств .NET для Qt? Какие-либо предложения? - PullRequest
2 голосов
/ 27 июля 2011

У меня есть некоторые переменные, которые я хочу изменить через графический интерфейс.Переменные бывают четырех типов: bool, long long, double, char *.Требуются разные виджеты для разных типов:

  • QCheckBox для bool
  • QSpinBox для long long
  • QDoubleSpinBox для double
  • QLineEdit для char*

Или изменить char* на std::string - не имеет значения.

Поэтому мне нужен виджет, который может рисовать N линий для N параметров различныхтипы.Каждая переменная может иметь свое имя для отображения в графическом интерфейсе.

Я реализовал свой собственный виджет, но ищу «стандартное решение» этой задачи.Мой собственный импл: http://savepic.net/1742263.png

Хотите что-то вроде форм свойств Qt Designer.

Ответы [ 2 ]

1 голос
/ 18 декабря 2011

создайте свой собственный подкласс QWidget, чтобы создать свой собственный «виджет свойств», который будет иметь QLabel и соответствующий виджет для типа переменной.затем добавьте свой собственный «виджет свойств» в ваше приложение.

например, если вам нужно добавить строку для типа bool, его класс будет выглядеть примерно так:

class BoolPropertyWidget : public QWidget
{
  QHBoxLayout layout;
  QLabel label;
public:
  QCheckBox value;  //if you would like to access the actual bool value, you can just use value.isChecked()

  BoolPropertyWidget() {

    //...do necessary adjustments layout, label and value here

    layout.addWidget(&label);
    layout.addWidget(&value);
    setLayout(&layout);
  }
};

затем, если вам нужно добавить виджет свойства в ваше приложение, вам просто нужно создать экземпляр BoolPropertyWidget и использовать функцию-член addWidget () объекта макета в вашем приложении.

это позволит вам создатьприложение с любым количеством необходимых «виджетов свойств», независимо от того, каким оно может быть.

, если после добавления вашего пользовательского «виджета свойств» размер приложения не изменяется должным образом, попробуйте вызвать корректирующий вызов свойстваSize ().1010 *

0 голосов
/ 22 августа 2011

Industrial Infosystems имеет бесплатный «браузер значений», который может быть полезен: http://www.ii -system.com / soft / vbrowser / vbrowser_en.htm .

...