title: Simple keyboardless touchscreen widgets in Qt
body: <p>I'm looking for a simple way to make widgets for a touch-screen that will allow users to set the time and IP address on the computer running the code and provide a simple (uppercase Latin-alphabetic) name.</p>
  
  <p>This question is <em>not</em> about how to actually set the system time or IP address; I'm just looking for information about how to make the graphical widgets themselves.</p>
  
  <p>What I want is for each editable property (time, address, and name) to be divided into "scrollable" fields, where the fields for "time" are hours, minutes, possibly seconds, and AM/PM/24-hr, and the fields for address/name are the individual characters. Each field would have an arrow above and below it, and touching on an arrow would scroll through the valid values for that field.</p>
  
  <p>I think this is a pretty common UX pattern, especially in meatspace (e.g. on alarm clocks), but just in case it's not clear what I'm trying to describe, here's an example with a user editing the "name" property:</p>
  
  <pre><code>^^^
  BN
  vvv
  </code></pre>
  
  <p>User presses "down" below the "N":
      ^^^
      BO
      vvv</p>
  
  <p>User presses "down" below the empty space:</p>
  
  <pre><code>^^^^
  BOA
  vvvv
  </code></pre>
  
  <p>...and again on the same down-arrow:</p>
  
  <pre><code>^^^^
  BOB
  vvvv
  </code></pre>
  
  <p>I'm writing this using C++14 with Qt 5. (If worst comes to worst, I'd be open to writing a separate app using a different language and/or framework, but I'm not asking for framework suggestions here; if you have one, let me know and I'll open a corresponding question on Software Recommendations SE.)</p>
  
  <p>I don't see anything in the Qt 5 widget library like this; most of the input widgets are text fields. <code>QSpinBox</code> looks somewhat promising, but the arrows are probably too small for my touchscreen, and using a separate spinbox for each letter would probably be confusing and ugly.</p>
  
  <p>I don't really know enough about Qt or GUI-programming in general to feel confident trying to write my own widgets from scratch, but this interface looks simple enough that I would expect a couple lines of QML would get me well on my way.</p>