Я ищу возможный метод, позволяющий только вводить числовой ввод в виджет Gtk :: Entry, не полагаясь на SpinButtons. Дело в том, что я нашел шаблон для этого (link), но он просто не сработает. Я могу скомпилировать его вдоль моего другого кода, но если я хочу, чтобы объявить экземпляр сВвод числового ввода в виджет Gtk :: Entry
NumericEntry<int> int_entry(1,0,10);
он говорит мне
ожидается «» или «...» перед числовой константой
Вторая часть, что у меня нет четкого представления, как упаковать эту запись, потому что я получаю
не может преобразовать виджет
ошибка при использовании
functionname.pack_start(int_entry())
Я предполагаю, что это глупая ошибка моя часть (плохая комбинация C++ и Gtkmm новичка), поэтому любая помощь приветствуется.
Философский момент: Я никогда не являюсь поклонником ограничения входных данных, подобных этому. Что делать, если у меня есть номер, который я хочу уже в буфере обмена, с несколькими дополнительными буквами и скопировать/вставить его ... тогда я удалю номера? Текстовые входы должны быть текстовыми вводом - проверьте его, прежде чем продолжить, и отметьте его, если это нехорошо, но не пишите хрупкие крючки, которые наносят ущерб стандартным виджетам. Вы вызываете больше проблем, чем решаете. – HostileFork
Спасибо за эту идею, я сначала увижу, что я использую. Мое рассуждение о числовом вводе - это контекст: пользователь должен давать кинетические данные для фермента, и это всегда чисто числовое, поэтому я подумал, что было бы проще просто ограничить ввод. – AcMNPV
Есть гораздо больше, что мы можем сделать с программным обеспечением, когда мы переходим от мысли о том, как * ограничить * ввод, чтобы думать о том, как * обрабатывать * ввод. Например: http://ux.stackexchange.com/questions/2898/how-to-create-bands-of-number-ranges-for-a-field/ – HostileFork