Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 这个Qt应用程序如何调整按钮的大小以适应?_C++_Qt - Fatal编程技术网

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

C++ 这个Qt应用程序如何调整按钮的大小以适应?,c++,qt,C++,Qt,我正在研制一台ACR890手持式智能卡读卡器。此设备自带Linux,SDK基于Qt。该设备提供了一个示例应用程序“ACR890_示例代码”。此应用程序中有一个名为DialogWifi.UI的UI,屏幕截图如下: 部署应用程序时,该屏幕如下所示: 我已经在下面介绍了UI和与此UI关联的文件,我在Qt Creator或源代码中都没有看到任何解释按钮如何或在何处重新缩放以适应的内容 我搜索了调整大小策略,没有看到任何,我搜索了字体更改,没有,我还搜索了几何体修改,同样没有 我会包括或附加文件,但我

我正在研制一台ACR890手持式智能卡读卡器。此设备自带Linux,SDK基于Qt。该设备提供了一个示例应用程序“ACR890_示例代码”。此应用程序中有一个名为DialogWifi.UI的UI,屏幕截图如下:

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

我已经在下面介绍了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>
然后:

然后我试着:

    qDebug() << ui->WidgetPassword->styleSheet();
然后是其中一个按钮:

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

将UI文件的XML与原始文件进行比较后,我发现新版本中的几何图形(宽度)不同,这就是问题所在。我把它改成了原来的,现在一切都好了

简而言之,
QLayout
及其子项。@MarekR,请解释一下,因为我复制了此布局并粘贴到了另一个表单中,它不会复制。请提供一个最小且完整的代码。
QGridControl
管理它包含的小部件的位置。它很可能是由Qt设计器插入的。现在,样式也会影响页边距等,所以windows UI上的样式不适合所需的宽度,但在您的设备上使用了不同的样式,并且布局能够适合屏幕。设备上的打印
qApp->style()->metaObject()->className()
应该是windows上的其他样式。我没有其他线索。
   0x4b66e440
    qDebug() << qApp->style();
    QStyleSheetStyle(0x1502c0)
    qDebug() << ui->WidgetPassword->styleSheet();
    ""
    qDebug() << ui->PushButton1->styleSheet();
    ""