这个Qt应用程序如何调整按钮的大小以适合?

时间:2019-07-04 13:26:49

标签: c++ qt

我正在研究ACR890手持式智能卡读取器。该设备内置Linux,SDK基于Qt。设备随附一个示例应用程序“ ACR890_Sample_Codes”。在此应用程序中,有一个名为DialogWifi.ui的UI,以下屏幕截图:

Screenshot taken from Qt Creator

部署应用程序后,该屏幕如下所示:

Photograph taken of same display deployed and running on device

我在下面包括了UI以及与此UI关联的文件,在Qt Creator或源代码中都看不到任何内容来说明按钮的缩放比例或位置。

我正在搜索调整大小的策略,没有找到任何内容,我已经搜索了字体更改,没有,我也已经搜索了几何形状修改,再次都没有。

我会包含或附加文件,但是看不到将其粘贴到此处或附加并保持内容可读的方法。

在表单上,​​按钮包含在QGridControl中。

这是UI XML的摘录:

       <widget class="QWidget" name="gridLayoutWidget">
<property name="geometry">
 <rect>
  <x>10</x>
  <y>90</y>
  <width>1107</width>
  <height>128</height>
 </rect>
</property>
<layout class="QGridLayout" name="GridLayout">
 <property name="spacing">
  <number>0</number>
 </property>
 <item row="2" column="12">
  <widget class="QPushButton" name="PushButton39">
   <property name="cursor">
    <cursorShape>BlankCursor</cursorShape>
   </property>
   <property name="focusPolicy">
    <enum>Qt::StrongFocus</enum>
   </property>
   <property name="text">
    <string>&quot;</string>
   </property>

到目前为止,在我尝试过的与UI关联的构造函数中:

    qDebug() << qApp->style()->metaObject()->className();

没有帮助,只显示类名“ QStyleSheetStyle”,然后我尝试了:

    qDebug() << qApp->style()->metaObject();

仅显示一个地址:

   0x4b66e440

然后:

    qDebug() << qApp->style();

这将输出:

    QStyleSheetStyle(0x1502c0)

然后我尝试:

    qDebug() << ui->WidgetPassword->styleSheet();

这是QGridControl对象的父级,输出:

    ""

然后是其中一个按钮:

    qDebug() << ui->PushButton1->styleSheet();

也:

    ""

1 个答案:

答案 0 :(得分:0)

将UI文件的XML与原始文件进行了比较,我发现新版本中的几何形状(宽度)不同,这就是问题所在。我将其更改为原始版本,现在一切正常!