PyQT4 / QT Creator - 如何创建一个带滑块的表盘,可以随意移动到表盘上的每个位置?

时间:2017-10-18 09:54:52

标签: python qt pyqt pyqt4

我使用QTCreator创建了一个滑块。这是关于我制作的表盘的图片:

What I have

我想在表盘内的任何地方移动滑块(它是表盘内的点),而不仅仅是在它周围。事实上,我想将滑块的远处更改为表盘的中心,就像我们可以绕着表盘转动一样。

例如,我可以让滑块(蓝点)在表盘周围移动,但我无法将其移动为绿点:

What I expect

目标是获得旋转的值(在0到360°之间),这样就完成了。下一步,从中心获得绿点的距离。因此,我可以为项目中的后续步骤获取2个值。

这可能吗?

以下是用于制作表盘的Qt Creator的小部件代码:

<widget class="QDial" name="dial">
    <property name="geometry">
     <rect>
      <x>70</x>
      <y>300</y>
      <width>101</width>
      <height>111</height>
     </rect>
    </property>
    <property name="layoutDirection">
     <enum>Qt::LeftToRight</enum>
    </property>
    <property name="minimum">
     <number>0</number>
    </property>
    <property name="maximum">
     <number>360</number>
    </property>
    <property name="singleStep">
     <number>0</number>
    </property>
    <property name="pageStep">
     <number>0</number>
    </property>
    <property name="value">
     <number>180</number>
    </property>
    <property name="sliderPosition">
     <number>180</number>
    </property>
    <property name="orientation">
     <enum>Qt::Horizontal</enum>
    </property>
    <property name="wrapping">
     <bool>true</bool>
    </property>
   </widget>

0 个答案:

没有答案