RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-432702

Никита Пфейфер's questions

Martin Hope
Никита Пфейфер
Asked: 2024-08-25 18:33:56 +0000 UTC

样式表未显示在 Qt Designer 中

  • 6

我正在Qt Designer中创建一个程序。
添加样式到listWidget.

在测试模式下,它看起来像这样:

在此输入图像描述

QScrollBar看起来刚刚好。

但如果你进入预览模式,它看起来像这样:

在此输入图像描述


样式在预览模式下以及已转换为 py.txt 的文件中不起作用。

我附上样式:

QListWidget {
    
    background-color: rgba(255, 255, 255, 0);
    
    color: rgb(229, 229, 229);
    border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */
;
}

/* Стиль вертикального ползунка */
QScrollBar:vertical {
    border: 1px solid rgb(25, 26, 28);
    background-color: rgb(25, 26, 28);
    width: 15px;
    margin: 20px 0 20px 0;
    border-radius: 5px;
}

QScrollBar::handle:vertical {
    background-color: rgb(40, 47, 53);
    min-height: 20px;
    border-radius: 5px;
}

QScrollBar::add-line:vertical {
    border: none;

}

QScrollBar::sub-line:vertical {
    border: none;

}

/* Убираем стрелки по краям ползунков */
QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical,
QScrollBar::left-arrow:horizontal, QScrollBar::right-arrow:horizontal {
    background: none;
}

QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal,
QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
    background: none;
}


/* Стиль горизонтального ползунка */
QScrollBar:horizontal {
    border: 1px solid rgb(25, 26, 28);
    background-color: rgb(25, 26, 28);
    height: 15px;
    margin: 0px 20px 0 20px;
    border-radius: 5px;
}

QScrollBar::handle:horizontal {
    background-color: rgb(40, 47, 53);
    min-width: 20px;
    border-radius: 5px;
}

QScrollBar::add-line:horizontal {
    border: none;
}

QScrollBar::sub-line:horizontal {
    border: none;

}

我附上.ui文件:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>504</width>
    <height>787</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralwidget">
   <property name="styleSheet">
    <string notr="true">#centralwidget{background-color: qlineargradient(spread:pad, x1:0.361519, y1:0.966, x2:0.355, y2:0.0568182, stop:0 rgba(25, 26, 28, 255), stop:0.293233 rgba(50, 57, 65, 255));}
</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_5">
    <item>
     <widget class="QWidget" name="widget" native="true">
      <property name="styleSheet">
       <string notr="true">#widget{background-color: qlineargradient(spread:pad, x1:0.361519, y1:0.966, x2:0.355, y2:0.0568182, stop:0 rgba(25, 26, 28, 255), stop:0.293233 rgba(50, 57, 65, 255));}</string>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout_4">
       <item>
        <widget class="QWidget" name="widget_2" native="true">
         <layout class="QVBoxLayout" name="verticalLayout_3">
          <item>
           <widget class="QWidget" name="widget_3" native="true">
            <property name="minimumSize">
             <size>
              <width>0</width>
              <height>257</height>
             </size>
            </property>
            <property name="styleSheet">
             <string notr="true"/>
            </property>
            <layout class="QHBoxLayout" name="horizontalLayout">
             <item>
              <spacer name="horizontalSpacer">
               <property name="orientation">
                <enum>Qt::Horizontal</enum>
               </property>
               <property name="sizeHint" stdset="0">
                <size>
                 <width>40</width>
                 <height>20</height>
                </size>
               </property>
              </spacer>
             </item>
             <item>
              <widget class="QPushButton" name="pushButton_2">
               <property name="minimumSize">
                <size>
                 <width>60</width>
                 <height>61</height>
                </size>
               </property>
               <property name="maximumSize">
                <size>
                 <width>60</width>
                 <height>16777215</height>
                </size>
               </property>
               <property name="styleSheet">
                <string notr="true">#pushButton_2 {
    background-color: rgb(40, 47, 53);
/*background-color: rgb(0, 139, 247);*/
    
color:rgb(229, 229, 229);
border-radius: 30px; /* Задайте радиус, чтобы сделать края овальными */
padding: 2px;}


#pushButton_2:hover{
background-color: rgb(24, 100, 71);
}</string>
               </property>
               <property name="text">
                <string>✖</string>
               </property>
              </widget>
             </item>
             <item>
              <widget class="QLabel" name="label">
               <property name="minimumSize">
                <size>
                 <width>251</width>
                 <height>247</height>
                </size>
               </property>
               <property name="styleSheet">
                <string notr="true">border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */
padding: 2px;</string>
               </property>
               <property name="text">
                <string/>
               </property>
               <property name="pixmap">
                <pixmap resource="../../../Downloads/test.qrc">:/testphoto/11zon_cropped.png</pixmap>
               </property>
               <property name="alignment">
                <set>Qt::AlignCenter</set>
               </property>
              </widget>
             </item>
             <item>
              <widget class="QPushButton" name="pushButton">
               <property name="minimumSize">
                <size>
                 <width>60</width>
                 <height>61</height>
                </size>
               </property>
               <property name="maximumSize">
                <size>
                 <width>60</width>
                 <height>16777215</height>
                </size>
               </property>
               <property name="styleSheet">
                <string notr="true">#pushButton {
    background-color: rgb(40, 47, 53);
/*background-color: rgb(0, 139, 247);*/
    
color: rgb(171, 213, 213);
border-radius: 30px; /* Задайте радиус, чтобы сделать края овальными */
padding: 2px;}


#pushButton:hover{
background-color: rgb(24, 100, 71);
}</string>
               </property>
               <property name="text">
                <string>✚</string>
               </property>
              </widget>
             </item>
             <item>
              <spacer name="horizontalSpacer_2">
               <property name="orientation">
                <enum>Qt::Horizontal</enum>
               </property>
               <property name="sizeHint" stdset="0">
                <size>
                 <width>40</width>
                 <height>20</height>
                </size>
               </property>
              </spacer>
             </item>
            </layout>
           </widget>
          </item>
          <item>
           <widget class="QWidget" name="widget_4" native="true">
            <property name="styleSheet">
             <string notr="true"/>
            </property>
            <layout class="QVBoxLayout" name="verticalLayout">
             <item>
              <widget class="QListWidget" name="listWidget">
               <property name="minimumSize">
                <size>
                 <width>359</width>
                 <height>435</height>
                </size>
               </property>
               <property name="font">
                <font>
                 <family>MS Shell Dlg 2</family>
                 <pointsize>12</pointsize>
                 <weight>50</weight>
                 <bold>false</bold>
                </font>
               </property>
               <property name="styleSheet">
                <string notr="true">QListWidget {
    
    background-color: rgba(255, 255, 255, 0);
    
    color: rgb(229, 229, 229);
    border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */
;
}



/* Стиль вертикального ползунка */
QScrollBar:vertical {
    border: 1px solid rgb(25, 26, 28);
    
     
    background-color: rgb(25, 26, 28);
    width: 15px;
    margin: 20px 0 20px 0;
    border-radius: 5px;
}

QScrollBar::handle:vertical {
    background-color: rgb(40, 47, 53);
    min-height: 20px;
    border-radius: 5px;
}

QScrollBar::add-line:vertical {
    border: none;

}

QScrollBar::sub-line:vertical {
    border: none;

}

/* Убираем стрелки по краям ползунков */
QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical,
QScrollBar::left-arrow:horizontal, QScrollBar::right-arrow:horizontal {
    background: none;
}

QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal,
QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
    background: none;
}


/* Стиль горизонтального ползунка */
QScrollBar:horizontal {
    border: 1px solid rgb(25, 26, 28);
    background-color: rgb(25, 26, 28);
    height: 15px;
    margin: 0px 20px 0 20px;
    border-radius: 5px;
}

QScrollBar::handle:horizontal {
    background-color: rgb(40, 47, 53);
    min-width: 20px;
    border-radius: 5px;
}

QScrollBar::add-line:horizontal {
    border: none;

}

QScrollBar::sub-line:horizontal {
    border: none;

}</string>
               </property>
               <property name="horizontalScrollMode">
                <enum>QAbstractItemView::ScrollPerItem</enum>
               </property>
               <property name="layoutMode">
                <enum>QListView::SinglePass</enum>
               </property>
               <property name="spacing">
                <number>5</number>
               </property>
               <property name="viewMode">
                <enum>QListView::ListMode</enum>
               </property>
               <item>
                <property name="text">
                 <string>Linkin park FEOFOLFKFLSREfwrefredfsdfsdfsdfsdfsdf</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>sfsefse</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>fse</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>fse</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>fsef</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>serf</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>sef</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>sef</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>sef</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>sef</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>g</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>dtg</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>fth</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>frh</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>ryfhrty</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>h</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>New Item</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>New Item</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>Rammstein</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>Radio tapok</string>
                </property>
               </item>
              </widget>
             </item>
            </layout>
           </widget>
          </item>
         </layout>
        </widget>
       </item>
      </layout>
     </widget>
    </item>
   </layout>
  </widget>
 </widget>
 <resources>
  <include location="../../../Downloads/test.qrc"/>
 </resources>
 <connections/>
</ui>

请告诉我有什么问题吗?

python
  • 1 个回答
  • 24 Views
Martin Hope
Никита Пфейфер
Asked: 2024-07-21 20:59:21 +0000 UTC

Qt Desginer 表单中的静态按钮未显示,因为我需要它们

  • 7

我在Qt Desginer中制作了一个带有小部件布局的程序,一切正常。

但每当我尝试做类似的事情时,它就不起作用。
那些。在工作版本中,按钮是静态的,具体取决于程序扩展,例如:

在此输入图像描述

在此输入图像描述

您可能会注意到按钮始终保持相同的大小。

不幸的是,无论我多么努力,我都无法达到相同的结果,我检查了我拥有的所有设置,但我做不到。



下面是它现在如何工作的示例:

在此输入图像描述

在此输入图像描述

请帮助我,我缺少什么?

工作.ui版本

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>433</width>
    <height>576</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralwidget">
   <property name="styleSheet">
    <string notr="true">#centralwidget{background-color: rgb(17, 18, 21);}</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
    <item alignment="Qt::AlignHCenter">
     <widget class="QWidget" name="widget" native="true">
      <property name="minimumSize">
       <size>
        <width>165</width>
        <height>38</height>
       </size>
      </property>
      <property name="maximumSize">
       <size>
        <width>16777215</width>
        <height>16777215</height>
       </size>
      </property>
      <property name="styleSheet">
       <string notr="true">background-color: rgb(17, 18, 21);</string>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout_2">
       <item>
        <widget class="QLabel" name="label">
         <property name="font">
          <font>
           <weight>75</weight>
           <bold>true</bold>
          </font>
         </property>
         <property name="styleSheet">
          <string notr="true">color: rgb(151, 102, 255);</string>
         </property>
         <property name="text">
          <string>Конвертация YML в JSON</string>
         </property>
         <property name="alignment">
          <set>Qt::AlignCenter</set>
         </property>
        </widget>
       </item>
      </layout>
     </widget>
    </item>
    <item>
     <widget class="QWidget" name="widget_2" native="true">
      <property name="minimumSize">
       <size>
        <width>421</width>
        <height>104</height>
       </size>
      </property>
      <property name="maximumSize">
       <size>
        <width>16777215</width>
        <height>16777215</height>
       </size>
      </property>
      <property name="styleSheet">
       <string notr="true">background-color: rgb(23, 25, 33);</string>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout_3">
       <item>
        <widget class="Line" name="line">
         <property name="styleSheet">
          <string notr="true">background-color: rgb(151, 102, 255);</string>
         </property>
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
         </property>
        </widget>
       </item>
       <item>
        <layout class="QHBoxLayout" name="horizontalLayout">
         <item>
          <spacer name="horizontalSpacer">
           <property name="orientation">
            <enum>Qt::Horizontal</enum>
           </property>
           <property name="sizeHint" stdset="0">
            <size>
             <width>40</width>
             <height>20</height>
            </size>
           </property>
          </spacer>
         </item>
         <item>
          <widget class="QLabel" name="label_2">
           <property name="minimumSize">
            <size>
             <width>61</width>
             <height>60</height>
            </size>
           </property>
           <property name="maximumSize">
            <size>
             <width>61</width>
             <height>60</height>
            </size>
           </property>
           <property name="styleSheet">
            <string notr="true">background-image: url(:/file/images/yml3.png);</string>
           </property>
           <property name="text">
            <string/>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QLineEdit" name="lineEdit_3">
           <property name="minimumSize">
            <size>
             <width>271</width>
             <height>31</height>
            </size>
           </property>
           <property name="maximumSize">
            <size>
             <width>291</width>
             <height>16777215</height>
            </size>
           </property>
           <property name="styleSheet">
            <string notr="true">background-color: rgb(66, 71, 90);
color: rgb(162, 162, 162);
border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */
padding: 2px;</string>
           </property>
           <property name="cursorPosition">
            <number>0</number>
           </property>
           <property name="alignment">
            <set>Qt::AlignCenter</set>
           </property>
           <property name="placeholderText">
            <string>Название файла.yml</string>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QLabel" name="label_3">
           <property name="minimumSize">
            <size>
             <width>61</width>
             <height>60</height>
            </size>
           </property>
           <property name="maximumSize">
            <size>
             <width>61</width>
             <height>60</height>
            </size>
           </property>
           <property name="styleSheet">
            <string notr="true">background-image: url(:/file/images/json3.png);</string>
           </property>
           <property name="text">
            <string/>
           </property>
          </widget>
         </item>
         <item>
          <spacer name="horizontalSpacer_2">
           <property name="orientation">
            <enum>Qt::Horizontal</enum>
           </property>
           <property name="sizeHint" stdset="0">
            <size>
             <width>40</width>
             <height>20</height>
            </size>
           </property>
          </spacer>
         </item>
        </layout>
       </item>
       <item>
        <widget class="Line" name="line_2">
         <property name="styleSheet">
          <string notr="true">background-color: rgb(151, 102, 255);</string>
         </property>
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
         </property>
        </widget>
       </item>
      </layout>
     </widget>
    </item>
    <item alignment="Qt::AlignHCenter">
     <widget class="QWidget" name="widget_3" native="true">
      <property name="minimumSize">
       <size>
        <width>0</width>
        <height>414</height>
       </size>
      </property>
      <property name="styleSheet">
       <string notr="true">background-color: rgb(17, 18, 21);</string>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout_5">
       <item>
        <layout class="QVBoxLayout" name="verticalLayout_4">
         <property name="spacing">
          <number>13</number>
         </property>
         <property name="topMargin">
          <number>0</number>
         </property>
         <property name="bottomMargin">
          <number>0</number>
         </property>
         <item>
          <widget class="QPushButton" name="addFile">
           <property name="minimumSize">
            <size>
             <width>211</width>
             <height>31</height>
            </size>
           </property>
           <property name="font">
            <font>
             <weight>75</weight>
             <bold>true</bold>
            </font>
           </property>
           <property name="styleSheet">
            <string notr="true">#addFile {
    background-color: rgb(151, 102, 255);
/*background-color: rgb(0, 139, 247);*/
    color: rgb(255, 255, 255);
border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */
padding: 2px;}


#addFile:hover{
background-color: rgb(164, 205, 217);
}</string>
           </property>
           <property name="text">
            <string>Выбрать файл</string>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QPushButton" name="convert">
           <property name="minimumSize">
            <size>
             <width>211</width>
             <height>31</height>
            </size>
           </property>
           <property name="font">
            <font>
             <weight>75</weight>
             <bold>true</bold>
            </font>
           </property>
           <property name="styleSheet">
            <string notr="true">#convert {
background-color: rgb(151, 102, 255);
/*background-color: rgb(0, 139, 247);*/
    color: rgb(255, 255, 255);
border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */
padding: 2px;}


#convert:hover{
background-color: rgb(164, 205, 217);
}</string>
           </property>
           <property name="text">
            <string>Конвертировать</string>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QPushButton" name="add">
           <property name="minimumSize">
            <size>
             <width>211</width>
             <height>31</height>
            </size>
           </property>
           <property name="font">
            <font>
             <weight>75</weight>
             <bold>true</bold>
            </font>
           </property>
           <property name="styleSheet">
            <string notr="true">#add {
background-color: rgb(151, 102, 255);
/*background-color: rgb(0, 139, 247);*/
    color: rgb(255, 255, 255);
border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */
padding: 2px;}


#add:hover{
background-color: rgb(164, 205, 217);
}</string>
           </property>
           <property name="text">
            <string>Добавить Json в Базу даных</string>
           </property>
          </widget>
         </item>
         <item>
          <spacer name="verticalSpacer">
           <property name="orientation">
            <enum>Qt::Vertical</enum>
           </property>
           <property name="sizeHint" stdset="0">
            <size>
             <width>20</width>
             <height>40</height>
            </size>
           </property>
          </spacer>
         </item>
         <item alignment="Qt::AlignHCenter">
          <widget class="QLabel" name="label_4">
           <property name="minimumSize">
            <size>
             <width>200</width>
             <height>200</height>
            </size>
           </property>
           <property name="maximumSize">
            <size>
             <width>9999</width>
             <height>9999</height>
            </size>
           </property>
           <property name="styleSheet">
            <string notr="true">background-image: url(:/file/images/gnvclogo.png);</string>
           </property>
           <property name="text">
            <string/>
           </property>
          </widget>
         </item>
         <item>
          <spacer name="verticalSpacer_3">
           <property name="orientation">
            <enum>Qt::Vertical</enum>
           </property>
           <property name="sizeHint" stdset="0">
            <size>
             <width>20</width>
             <height>40</height>
            </size>
           </property>
          </spacer>
         </item>
         <item>
          <widget class="QPushButton" name="info">
           <property name="minimumSize">
            <size>
             <width>211</width>
             <height>31</height>
            </size>
           </property>
           <property name="font">
            <font>
             <weight>75</weight>
             <bold>true</bold>
            </font>
           </property>
           <property name="styleSheet">
            <string notr="true">#info {
background-color: rgb(151, 102, 255);
/*background-color: rgb(0, 139, 247);*/
    color: rgb(255, 255, 255);
border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */
padding: 2px;}


#info:hover{
background-color: rgb(164, 205, 217);
}</string>
           </property>
           <property name="text">
            <string>Дополнительная информация</string>
           </property>
          </widget>
         </item>
        </layout>
       </item>
      </layout>
     </widget>
    </item>
   </layout>
  </widget>
 </widget>
 <resources>
  <include location="../qrc_files/file.qrc"/>
 </resources>
 <connections/>
</ui>


不工作 .ui版本:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>443</width>
    <height>592</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralwidget">
   <property name="styleSheet">
    <string notr="true">#centralwidget{background-color: rgb(17, 18, 21);}</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
    <item>
     <widget class="QWidget" name="widget" native="true">
      <property name="minimumSize">
       <size>
        <width>165</width>
        <height>38</height>
       </size>
      </property>
      <property name="maximumSize">
       <size>
        <width>16777215</width>
        <height>16777215</height>
       </size>
      </property>
      <property name="styleSheet">
       <string notr="true">background-color: rgb(17, 18, 21);</string>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout_2">
       <item>
        <widget class="QLabel" name="label">
         <property name="font">
          <font>
           <weight>75</weight>
           <bold>true</bold>
          </font>
         </property>
         <property name="styleSheet">
          <string notr="true">color: rgb(151, 102, 255);</string>
         </property>
         <property name="text">
          <string>Конвертация YML в JSON</string>
         </property>
         <property name="alignment">
          <set>Qt::AlignCenter</set>
         </property>
        </widget>
       </item>
      </layout>
     </widget>
    </item>
    <item>
     <widget class="QWidget" name="widget_2" native="true">
      <property name="minimumSize">
       <size>
        <width>421</width>
        <height>104</height>
       </size>
      </property>
      <property name="maximumSize">
       <size>
        <width>16777215</width>
        <height>16777215</height>
       </size>
      </property>
      <property name="styleSheet">
       <string notr="true">background-color: rgb(23, 25, 33);</string>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout_3">
       <item>
        <widget class="Line" name="line">
         <property name="styleSheet">
          <string notr="true">background-color: rgb(151, 102, 255);</string>
         </property>
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
         </property>
        </widget>
       </item>
       <item>
        <layout class="QHBoxLayout" name="horizontalLayout">
         <item>
          <spacer name="horizontalSpacer">
           <property name="orientation">
            <enum>Qt::Horizontal</enum>
           </property>
           <property name="sizeHint" stdset="0">
            <size>
             <width>40</width>
             <height>20</height>
            </size>
           </property>
          </spacer>
         </item>
         <item>
          <widget class="QLabel" name="label_2">
           <property name="minimumSize">
            <size>
             <width>61</width>
             <height>60</height>
            </size>
           </property>
           <property name="maximumSize">
            <size>
             <width>61</width>
             <height>60</height>
            </size>
           </property>
           <property name="styleSheet">
            <string notr="true">background-image: url(:/file/images/yml3.png);</string>
           </property>
           <property name="text">
            <string/>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QLineEdit" name="lineEdit_3">
           <property name="minimumSize">
            <size>
             <width>271</width>
             <height>31</height>
            </size>
           </property>
           <property name="maximumSize">
            <size>
             <width>291</width>
             <height>16777215</height>
            </size>
           </property>
           <property name="styleSheet">
            <string notr="true">background-color: rgb(66, 71, 90);
color: rgb(162, 162, 162);
border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */
padding: 2px;</string>
           </property>
           <property name="cursorPosition">
            <number>0</number>
           </property>
           <property name="alignment">
            <set>Qt::AlignCenter</set>
           </property>
           <property name="placeholderText">
            <string>Название файла.yml</string>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QLabel" name="label_3">
           <property name="minimumSize">
            <size>
             <width>61</width>
             <height>60</height>
            </size>
           </property>
           <property name="maximumSize">
            <size>
             <width>61</width>
             <height>60</height>
            </size>
           </property>
           <property name="styleSheet">
            <string notr="true">background-image: url(:/file/images/json3.png);</string>
           </property>
           <property name="text">
            <string/>
           </property>
          </widget>
         </item>
         <item>
          <spacer name="horizontalSpacer_2">
           <property name="orientation">
            <enum>Qt::Horizontal</enum>
           </property>
           <property name="sizeHint" stdset="0">
            <size>
             <width>40</width>
             <height>20</height>
            </size>
           </property>
          </spacer>
         </item>
        </layout>
       </item>
       <item>
        <widget class="Line" name="line_2">
         <property name="styleSheet">
          <string notr="true">background-color: rgb(151, 102, 255);</string>
         </property>
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
         </property>
        </widget>
       </item>
      </layout>
     </widget>
    </item>
    <item>
     <widget class="QWidget" name="widget_3" native="true">
      <property name="minimumSize">
       <size>
        <width>0</width>
        <height>414</height>
       </size>
      </property>
      <property name="styleSheet">
       <string notr="true">background-color: rgb(17, 18, 21);</string>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout_5">
       <item>
        <layout class="QVBoxLayout" name="verticalLayout_4">
         <property name="spacing">
          <number>13</number>
         </property>
         <property name="topMargin">
          <number>0</number>
         </property>
         <property name="bottomMargin">
          <number>0</number>
         </property>
         <item>
          <widget class="QPushButton" name="addFile">
           <property name="minimumSize">
            <size>
             <width>211</width>
             <height>31</height>
            </size>
           </property>
           <property name="font">
            <font>
             <weight>75</weight>
             <bold>true</bold>
            </font>
           </property>
           <property name="styleSheet">
            <string notr="true">#addFile {
    background-color: rgb(151, 102, 255);
/*background-color: rgb(0, 139, 247);*/
    color: rgb(255, 255, 255);
border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */
padding: 2px;}


#addFile:hover{
background-color: rgb(164, 205, 217);
}</string>
           </property>
           <property name="text">
            <string>Выбрать файл</string>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QPushButton" name="convert">
           <property name="minimumSize">
            <size>
             <width>211</width>
             <height>31</height>
            </size>
           </property>
           <property name="font">
            <font>
             <weight>75</weight>
             <bold>true</bold>
            </font>
           </property>
           <property name="styleSheet">
            <string notr="true">#convert {
background-color: rgb(151, 102, 255);
/*background-color: rgb(0, 139, 247);*/
    color: rgb(255, 255, 255);
border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */
padding: 2px;}


#convert:hover{
background-color: rgb(164, 205, 217);
}</string>
           </property>
           <property name="text">
            <string>Конвертировать</string>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QPushButton" name="add">
           <property name="minimumSize">
            <size>
             <width>211</width>
             <height>31</height>
            </size>
           </property>
           <property name="font">
            <font>
             <weight>75</weight>
             <bold>true</bold>
            </font>
           </property>
           <property name="styleSheet">
            <string notr="true">#add {
background-color: rgb(151, 102, 255);
/*background-color: rgb(0, 139, 247);*/
    color: rgb(255, 255, 255);
border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */
padding: 2px;}


#add:hover{
background-color: rgb(164, 205, 217);
}</string>
           </property>
           <property name="text">
            <string>Добавить Json в Базу даных</string>
           </property>
          </widget>
         </item>
         <item>
          <spacer name="verticalSpacer">
           <property name="orientation">
            <enum>Qt::Vertical</enum>
           </property>
           <property name="sizeHint" stdset="0">
            <size>
             <width>20</width>
             <height>40</height>
            </size>
           </property>
          </spacer>
         </item>
         <item>
          <widget class="QLabel" name="label_4">
           <property name="minimumSize">
            <size>
             <width>200</width>
             <height>200</height>
            </size>
           </property>
           <property name="maximumSize">
            <size>
             <width>9999</width>
             <height>9999</height>
            </size>
           </property>
           <property name="styleSheet">
            <string notr="true">background-image: url(:/file/images/gnvclogo.png);</string>
           </property>
           <property name="text">
            <string/>
           </property>
          </widget>
         </item>
         <item>
          <spacer name="verticalSpacer_3">
           <property name="orientation">
            <enum>Qt::Vertical</enum>
           </property>
           <property name="sizeHint" stdset="0">
            <size>
             <width>20</width>
             <height>40</height>
            </size>
           </property>
          </spacer>
         </item>
         <item>
          <widget class="QPushButton" name="info">
           <property name="minimumSize">
            <size>
             <width>211</width>
             <height>31</height>
            </size>
           </property>
           <property name="font">
            <font>
             <weight>75</weight>
             <bold>true</bold>
            </font>
           </property>
           <property name="styleSheet">
            <string notr="true">#info {
background-color: rgb(151, 102, 255);
/*background-color: rgb(0, 139, 247);*/
    color: rgb(255, 255, 255);
border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */
padding: 2px;}


#info:hover{
background-color: rgb(164, 205, 217);
}</string>
           </property>
           <property name="text">
            <string>Дополнительная информация</string>
           </property>
          </widget>
         </item>
        </layout>
       </item>
      </layout>
     </widget>
    </item>
   </layout>
  </widget>
 </widget>
 <resources/>
 <connections/>
</ui>

问题解释:

  • 在工作版本中,所有按钮始终保持相同的大小,但在缩放窗口时会移至中间(第二个屏幕截图)。
  • 但第二个版本不起作用 - 按钮总是增加窗口的宽度,在我提供的屏幕截图中清晰可见。(第四张截图,右侧窗口)

我们需要确保在(第四个屏幕截图)中,右侧窗口的按钮保持相同的大小,并在缩放窗口时移动到中心。

python
  • 1 个回答
  • 35 Views
Martin Hope
Никита Пфейфер
Asked: 2024-06-21 21:57:11 +0000 UTC

PyQT5 中的文本和按钮在不同显示器上中断

  • 5

我写了一个程序将 yml 文件转换为 json。一切都很好,直到我在另一台显示器上启动它,然后文本损坏了,有东西被吃掉,部分文本不可见,等等。我尝试在缩放系数为 100% 的显示器上创建界面,但没有帮助。

这张照片上面的文字已经被吃掉了。另外,如果您转到附加部分。信息,然后文本被卡在某处。

在此输入图像描述

这是笔记本电脑上的照片,这里的情况更糟。

在此输入图像描述

在我编写此程序的笔记本电脑上,一切正常。我读到布局应该有所帮助,我尝试添加自动缩放,但没有任何效果,我寻求帮助!

主要.py

import sys
from PyQt5 import QtCore, QtGui, QtWidgets    
from PyQt5.QtGui import QColor, QIcon 
from PyQt5.uic import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
import sys
import os
from ruamel.yaml import YAML
from ruamel.yaml.constructor import SafeConstructor
import json



#TODO: Доделать проверку ошибок на отсутствие файла И вывод о том, что файл успешно сохранён


from py_windows.main import Ui_MainWindow
from py_windows.informations import Ui_MainWindow2

class Main_Screen(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(Main_Screen, self).__init__(parent)
        self.setupUi(self)

class Informations_Screen(QtWidgets.QMainWindow, Ui_MainWindow2):
    def __init__(self, parent=None):
        super(Informations_Screen, self).__init__(parent)
        self.setupUi(self)

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()


        self.fname = ""
        self.centralWidget = QWidget()
        self.setCentralWidget(self.centralWidget)

        #Начало класса Main_Screen
        self.main_screen = Main_Screen()
        self.main_screen.pushButton_2.clicked.connect(self.add_file)
        self.main_screen.pushButton.clicked.connect(self.save_file)
        self.main_screen.pushButton_3.clicked.connect(self.gotoInformationScreen)
        #Конец класса Main_Screen


        #Начало класса Informations_Screen
        self.informations_screen = Informations_Screen()
        self.informations_screen.pushButton_3.clicked.connect(self.gotomain)
        #Конец класса Informations_Screen




        self.stack = QStackedWidget() # QStackedWidget видно сразу несколько виджетов
        self.stack.addWidget(self.main_screen) # 0 self.stack.setCurrentIndex(0)
        self.stack.addWidget(self.informations_screen) # 1 self.stack.setCurrentIndex(0)


        self.stack.setCurrentIndex(0)
        self.nameProgramm(self.stack.currentIndex())



        self.gotomain()

        hbox = QHBoxLayout(self.centralWidget)
        hbox.setContentsMargins(0, 0, 0, 0) #вроде можно без этого ????????????????????????????????????
        hbox.addWidget(self.stack)


    def nameProgramm(self, w=0):
        self.setWindowTitle('Конвертер YML to JSON')
        self.setWindowIcon(QIcon('images/gnivc2.png'))




    def gotomain(self):
        self.stack.setCurrentIndex(0)
        self.nameProgramm(self.stack.currentIndex())
        self.adjustSize()
        #self.setFixedSize(421, 516)


    def gotoInformationScreen(self):
        self.stack.setCurrentIndex(1)
        self.nameProgramm(self.stack.currentIndex())
        self.adjustSize()
        #self.setFixedSize(421, 516)




    def add_file(self):
        self.fname, _ = QFileDialog.getOpenFileName(self,"Open file", ".", "YAML Files (*.yml)")

        if self.fname:
            base_name = os.path.basename(self.fname) #Только для верхнего поля
            self.main_screen.lineEdit.setText(base_name)

    def save_file(self):
        if self.fname:
            SplitFileByDuplicates(self.fname)
            self.main_screen.lineEdit.setText("Конвертация завершена!")
            self.main_screen.lineEdit.setStyleSheet("background-color: rgb(66, 71, 90);"
                                                    "color: green;"
                                                    "font-weight: bold;"
                                                    "border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */\n"
                                                    "padding: 2px;")
            QTimer.singleShot(3000, self.clear_message)

        else:
            self.main_screen.lineEdit.setText("Ошибка конвертации!")
            self.main_screen.lineEdit.setStyleSheet("background-color: rgb(66, 71, 90);"
                                                    "color: red;"
                                                    "font-weight: bold;"
                                                    "border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */\n"
                                                    "padding: 2px;")
            QTimer.singleShot(3000, self.clear_message)



            info = QMessageBox(self)
            info.setIcon(QMessageBox.Warning)  # Устанавливаем тип иконки внутри окна
            info.setWindowTitle("Не выбран файл")
            info.setText("Пожалуйста выберите файл для конвертации!")
            info.setStandardButtons(QMessageBox.Ok)

            # Устанавливаем внешнюю иконку для окна
            info.setWindowIcon(QIcon('images/gnivc.png'))

            # Устанавливаем стиль для изменения фона
            info.setStyleSheet("""
            QMessageBox { 
                background-color: rgb(17, 18, 21); 
            }
            QMessageBox QLabel {
                color: rgb(255, 255, 255);  /* Цвет текста */
            }
            QPushButton { 
                color: white; 
                background-color: rgb(151, 102, 255); 
            }
        """)

            info.exec_()

    def clear_message(self):
        self.main_screen.lineEdit.setText("")
        self.main_screen.lineEdit.setStyleSheet("background-color: rgb(66, 71, 90);\n"
"color: rgb(162, 162, 162);\n"
"border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */\n"
"padding: 2px;")

def SplitFileByDuplicates(file_name):
        def construct_yaml_map(self, node):
            data = []
            yield data
            for key_node, value_node in node.value:
                key = self.construct_object(key_node, deep=True)
                val = self.construct_object(value_node, deep=True)
                data.append((key, val))
        
        with open(file_name, "r") as f:
            SafeConstructor.add_constructor(u'tag:yaml.org,2002:map', construct_yaml_map)
            yaml = YAML(typ='safe')
            data = yaml.load(f.read())
            print(data)
            servers = data[0][1]
            
            def create_partition(server_list):
                documents_folder = os.path.join(os.path.expanduser("~"), "Documents")
                json_file_name = os.path.join(documents_folder, os.path.splitext(os.path.basename(file_name))[0] + ".json")
                
                with open(json_file_name, "w") as f:
                    json.dump(server_list, f, indent=4)

            server_list = []
            for server in servers:
                server_name = server[0]
                server_data = server[1]
                server_entry = {
                    "hostname": server_name,
                    "data": {k: v for k, v in server_data}
                }
                server_list.append(server_entry)

            if server_list:
                create_partition(server_list)

     
        


def application():
    app = QApplication(sys.argv)

    



    window = MainWindow()
    window.show()
    sys.exit(app.exec_())


if __name__ == "__main__":
    application()

主屏幕.py

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'main.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(421, 516)
        MainWindow.setMinimumSize(QtCore.QSize(421, 516))
        MainWindow.setMaximumSize(QtCore.QSize(421, 516))
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.widget = QtWidgets.QWidget(self.centralwidget)
        self.widget.setGeometry(QtCore.QRect(0, 0, 421, 516))
        self.widget.setStyleSheet("#widget{background-color: rgb(17, 18, 21);}")
        self.widget.setObjectName("widget")
        self.widget_2 = QtWidgets.QWidget(self.widget)
        self.widget_2.setGeometry(QtCore.QRect(0, 30, 421, 80))
        self.widget_2.setStyleSheet("#widget_2{background-color: rgb(23, 25, 33);}\n"
"\n"
"\n"
"\n"
"")
        self.widget_2.setObjectName("widget_2")
        self.line_2 = QtWidgets.QFrame(self.widget_2)
        self.line_2.setGeometry(QtCore.QRect(0, 0, 421, 3))
        self.line_2.setStyleSheet("/*background-color: rgb(0, 139, 247);*/\n"
"background-color: rgb(151, 102, 255);")
        self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_2.setObjectName("line_2")
        self.lineEdit = QtWidgets.QLineEdit(self.widget_2)
        self.lineEdit.setGeometry(QtCore.QRect(74, 26, 271, 31))
        self.lineEdit.setStyleSheet("background-color: rgb(66, 71, 90);\n"
"color: rgb(162, 162, 162);\n"
"border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */\n"
"padding: 2px;")
        self.lineEdit.setCursorPosition(0)
        self.lineEdit.setAlignment(QtCore.Qt.AlignCenter)
        self.lineEdit.setObjectName("lineEdit")
        self.widget_3 = QtWidgets.QWidget(self.widget_2)
        self.widget_3.setGeometry(QtCore.QRect(13, 8, 61, 61))
        self.widget_3.setStyleSheet("background-image: url(:/file/images/yml3.png);")
        self.widget_3.setObjectName("widget_3")
        self.widget_4 = QtWidgets.QWidget(self.widget_2)
        self.widget_4.setGeometry(QtCore.QRect(346, 7, 61, 61))
        self.widget_4.setStyleSheet("background-image: url(:/file/images/json3.png);")
        self.widget_4.setObjectName("widget_4")
        self.line = QtWidgets.QFrame(self.widget)
        self.line.setGeometry(QtCore.QRect(0, 110, 421, 3))
        self.line.setStyleSheet("/*background-color: rgb(0, 139, 247);*/\n"
"background-color: rgb(151, 102, 255);")
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.label = QtWidgets.QLabel(self.widget)
        self.label.setGeometry(QtCore.QRect(125, 6, 171, 19))
        self.label.setMinimumSize(QtCore.QSize(131, 19))
        self.label.setMaximumSize(QtCore.QSize(99999, 99999))
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setStyleSheet("color: rgb(151, 102, 255);")
        self.label.setObjectName("label")
        self.pushButton = QtWidgets.QPushButton(self.widget)
        self.pushButton.setGeometry(QtCore.QRect(105, 190, 211, 31))
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.pushButton.setFont(font)
        self.pushButton.setStyleSheet("#pushButton {\n"
"background-color: rgb(151, 102, 255);\n"
"/*background-color: rgb(0, 139, 247);*/\n"
"    color: rgb(255, 255, 255);\n"
"border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */\n"
"padding: 2px;}\n"
"\n"
"\n"
"#pushButton:hover{\n"
"background-color: rgb(164, 205, 217);\n"
"}")
        self.pushButton.setObjectName("pushButton")
        self.pushButton_2 = QtWidgets.QPushButton(self.widget)
        self.pushButton_2.setGeometry(QtCore.QRect(105, 140, 211, 31))
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.pushButton_2.setFont(font)
        self.pushButton_2.setStyleSheet("#pushButton_2 {\n"
"    background-color: rgb(151, 102, 255);\n"
"/*background-color: rgb(0, 139, 247);*/\n"
"    color: rgb(255, 255, 255);\n"
"border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */\n"
"padding: 2px;}\n"
"\n"
"\n"
"#pushButton_2:hover{\n"
"background-color: rgb(164, 205, 217);\n"
"}")
        self.pushButton_2.setObjectName("pushButton_2")
        self.widget_5 = QtWidgets.QWidget(self.widget)
        self.widget_5.setGeometry(QtCore.QRect(110, 247, 200, 200))
        self.widget_5.setStyleSheet("background-image: url(:/file/images/gnvclogo.png);")
        self.widget_5.setObjectName("widget_5")
        self.pushButton_3 = QtWidgets.QPushButton(self.widget)
        self.pushButton_3.setGeometry(QtCore.QRect(75, 470, 271, 31))
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.pushButton_3.setFont(font)
        self.pushButton_3.setStyleSheet("#pushButton_3 {\n"
"background-color: rgb(151, 102, 255);\n"
"/*background-color: rgb(0, 139, 247);*/\n"
"    color: rgb(255, 255, 255);\n"
"border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */\n"
"padding: 2px;}\n"
"\n"
"\n"
"#pushButton_3:hover{\n"
"background-color: rgb(164, 205, 217);\n"
"}")
        self.pushButton_3.setObjectName("pushButton_3")
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.lineEdit.setPlaceholderText(_translate("MainWindow", "Название файла.yml"))
        self.label.setText(_translate("MainWindow", "Конвертация YML в JSON"))
        self.pushButton.setText(_translate("MainWindow", "Конвертировать"))
        self.pushButton_2.setText(_translate("MainWindow", "Выбрать файл"))
        self.pushButton_3.setText(_translate("MainWindow", "Дополнительная информация"))
import qrc_files.file

informations_screen.py

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'informations.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow2(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(421, 516)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.widget = QtWidgets.QWidget(self.centralwidget)
        self.widget.setGeometry(QtCore.QRect(0, 0, 421, 516))
        self.widget.setStyleSheet("#widget{background-color: rgb(17, 18, 21);}")
        self.widget.setObjectName("widget")
        self.widget_2 = QtWidgets.QWidget(self.widget)
        self.widget_2.setGeometry(QtCore.QRect(0, 170, 421, 80))
        self.widget_2.setStyleSheet("#widget_2{background-color: rgb(23, 25, 33);}\n"
"\n"
"\n"
"\n"
"")
        self.widget_2.setObjectName("widget_2")
        self.line_2 = QtWidgets.QFrame(self.widget_2)
        self.line_2.setGeometry(QtCore.QRect(0, 0, 421, 3))
        self.line_2.setStyleSheet("/*background-color: rgb(0, 139, 247);*/\n"
"background-color: rgb(151, 102, 255);")
        self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_2.setObjectName("line_2")
        self.label = QtWidgets.QLabel(self.widget_2)
        self.label.setGeometry(QtCore.QRect(70, 10, 286, 19))
        self.label.setStyleSheet("color: rgb(255, 255, 255);")
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.widget_2)
        self.label_2.setGeometry(QtCore.QRect(113, 34, 195, 20))
        self.label_2.setStyleSheet("color: rgb(255, 255, 255);")
        self.label_2.setObjectName("label_2")
        self.label_3 = QtWidgets.QLabel(self.widget_2)
        self.label_3.setGeometry(QtCore.QRect(125, 60, 171, 20))
        self.label_3.setStyleSheet("color: rgb(151, 102, 255);")
        self.label_3.setObjectName("label_3")
        self.line = QtWidgets.QFrame(self.widget)
        self.line.setGeometry(QtCore.QRect(0, 250, 421, 3))
        self.line.setStyleSheet("/*background-color: rgb(0, 139, 247);*/\n"
"background-color: rgb(151, 102, 255);")
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.pushButton_3 = QtWidgets.QPushButton(self.widget)
        self.pushButton_3.setGeometry(QtCore.QRect(75, 470, 271, 31))
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.pushButton_3.setFont(font)
        self.pushButton_3.setStyleSheet("#pushButton_3 {\n"
"background-color: rgb(151, 102, 255);\n"
"/*background-color: rgb(0, 139, 247);*/\n"
"    color: rgb(255, 255, 255);\n"
"border-radius: 15px; /* Задайте радиус, чтобы сделать края овальными */\n"
"padding: 2px;}\n"
"\n"
"\n"
"#pushButton_3:hover{\n"
"background-color: rgb(164, 205, 217);\n"
"}")
        self.pushButton_3.setObjectName("pushButton_3")
        self.widget_5 = QtWidgets.QWidget(self.widget)
        self.widget_5.setGeometry(QtCore.QRect(110, 50, 200, 120))
        self.widget_5.setStyleSheet("background-image: url(:/file/images/gnvclogo.png);")
        self.widget_5.setObjectName("widget_5")
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label.setText(_translate("MainWindow", "Программа сохраняет Json файл в \"Документы\""))
        self.label_2.setText(_translate("MainWindow", "Создано для сотрудников ГНИВЦ"))
        self.label_3.setText(_translate("MainWindow", "Created by: Никита Пфейфер"))
        self.pushButton_3.setText(_translate("MainWindow", "Назад"))
import qrc_files.file
python
  • 1 个回答
  • 21 Views
Martin Hope
Никита Пфейфер
Asked: 2022-04-21 09:14:14 +0000 UTC

如何设置 QFrame 的初始大小?

  • 1

在此处输入图像描述

我对一些小部件进行了布局,这里的左侧菜单始终处于最大尺寸。

如何使它在启动时这个框架是允许的最小尺寸?

我尝试使用调整大小,但没有奏效。

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'ApexNew.ui'
#
# Created by: PyQt5 UI code generator 5.15.2
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from PyQt5 import QtCore, QtGui, QtWidgets    
from PyQt5.QtGui import QColor, QIcon 
from PyQt5.uic import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        self.menuvisible = 0
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1000, 653)
        MainWindow.setStyleSheet("")
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setStyleSheet("background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0.263699 rgba(28, 33, 44, 255), stop:0.784247 rgba(41, 48, 60, 255));")
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setSpacing(0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.root = QtWidgets.QFrame(self.centralwidget)
        self.root.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.root.setFrameShadow(QtWidgets.QFrame.Raised)
        self.root.setObjectName("root")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.root)
        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_2.setSpacing(0)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.frame_ = QtWidgets.QFrame(self.root)
        self.frame_.setMinimumSize(QtCore.QSize(0, 60))
        self.frame_.setMaximumSize(QtCore.QSize(16777215, 60))
        self.frame_.setStyleSheet("")
        self.frame_.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame_.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_.setObjectName("frame_")
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.frame_)
        self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_3.setSpacing(0)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.frame_2 = QtWidgets.QFrame(self.frame_)
        self.frame_2.setMinimumSize(QtCore.QSize(250, 0))
        self.frame_2.setMaximumSize(QtCore.QSize(250, 16777215))
        self.frame_2.setStyleSheet("")
        self.frame_2.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame_2.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_2.setObjectName("frame_2")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.frame_2)
        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout.setSpacing(6)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.pushButton = QtWidgets.QPushButton(self.frame_2)
        self.pushButton.setMinimumSize(QtCore.QSize(45, 45))
        self.pushButton.setMaximumSize(QtCore.QSize(45, 45))
        self.pushButton.setStyleSheet("border:none;")
        self.pushButton.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/icons/Изображения/logo.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.pushButton.setIcon(icon)
        self.pushButton.setIconSize(QtCore.QSize(55, 55))
        self.pushButton.setObjectName("pushButton")
        self.horizontalLayout.addWidget(self.pushButton)
        self.label = QtWidgets.QLabel(self.frame_2)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.horizontalLayout.addWidget(self.label)
        self.horizontalLayout_3.addWidget(self.frame_2)
        spacerItem = QtWidgets.QSpacerItem(609, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem)
        self.frame_3 = QtWidgets.QFrame(self.frame_)
        self.frame_3.setMinimumSize(QtCore.QSize(100, 0))
        self.frame_3.setMaximumSize(QtCore.QSize(100, 16777215))
        self.frame_3.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame_3.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_3.setObjectName("frame_3")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.frame_3)
        self.horizontalLayout_2.setSpacing(5)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        spacerItem1 = QtWidgets.QSpacerItem(15, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem1)
        self.miniBtn = QtWidgets.QPushButton(self.frame_3)
        self.miniBtn.setMinimumSize(QtCore.QSize(26, 26))
        self.miniBtn.setMaximumSize(QtCore.QSize(26, 26))
        self.miniBtn.setStyleSheet("QPushButton{\n"
"    background-color:rgb(97, 97, 97);\n"
"    border:none;\n"
"    border-radius: 13;\n"
"}\n"
"QPushButton:hover{\n"
"    background-color: rgb(134, 134, 134);\n"
"}\n"
"\n"
"QPushButton:pressed{    \n"
"    background-color: rgb(0, 0, 0);\n"
"}")
        self.miniBtn.setText("")
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/icons/Изображения/minus (2).svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.miniBtn.setIcon(icon1)
        self.miniBtn.setIconSize(QtCore.QSize(22, 22))
        self.miniBtn.setObjectName("miniBtn")
        self.horizontalLayout_2.addWidget(self.miniBtn)
        self.closeBtn = QtWidgets.QPushButton(self.frame_3)
        self.closeBtn.setMinimumSize(QtCore.QSize(26, 26))
        self.closeBtn.setMaximumSize(QtCore.QSize(26, 26))
        self.closeBtn.setStyleSheet("QPushButton{\n"
"    background-color:rgb(97, 97, 97);\n"
"    border:none;\n"
"    border-radius: 13;\n"
"}\n"
"QPushButton:hover{\n"
"    background-color: rgb(134, 134, 134);\n"
"}\n"
"\n"
"QPushButton:pressed{    \n"
"    background-color: rgb(0, 0, 0);\n"
"}")
        self.closeBtn.setText("")
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(":/icons/Изображения/close (3).svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.closeBtn.setIcon(icon2)
        self.closeBtn.setIconSize(QtCore.QSize(22, 22))
        self.closeBtn.setObjectName("closeBtn")
        self.horizontalLayout_2.addWidget(self.closeBtn)
        self.horizontalLayout_3.addWidget(self.frame_3)
        self.verticalLayout_2.addWidget(self.frame_)
        self.frame_5 = QtWidgets.QFrame(self.root)
        self.frame_5.setStyleSheet("")
        self.frame_5.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame_5.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_5.setObjectName("frame_5")
        self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.frame_5)
        self.horizontalLayout_5.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_5.setSpacing(0)
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.frame = QtWidgets.QFrame(self.frame_5)
        self.frame.resize(48, 589)
        self.frame.setMinimumSize(QtCore.QSize(48, 589))
        self.frame.setMaximumSize(QtCore.QSize(200, 16000))
        self.frame.setStyleSheet("background-color: rgb(58, 65, 82);\n"
"border-radius: 23;")
        self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame.setObjectName("frame")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.frame)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.menu = QtWidgets.QPushButton(self.frame)
        self.menu.clicked.connect(self.showmenu)  # Показываем окно
        self.menu.setMinimumSize(QtCore.QSize(30, 25))
        self.menu.setMaximumSize(QtCore.QSize(16000, 25))
        self.menu.setStyleSheet("border:none;")
        self.menu.setText("")
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(":/icons/Изображения/5050.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.menu.setIcon(icon3)
        self.menu.setIconSize(QtCore.QSize(35, 34))
        self.menu.setObjectName("menu")
        self.verticalLayout_4.addWidget(self.menu)
        spacerItem2 = QtWidgets.QSpacerItem(20, 58, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout_4.addItem(spacerItem2)
        self.frame_6 = QtWidgets.QFrame(self.frame)
        self.frame_6.setMinimumSize(QtCore.QSize(180, 80))
        self.frame_6.setMaximumSize(QtCore.QSize(180, 80))
        self.frame_6.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame_6.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_6.setObjectName("frame_6")
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.frame_6)
        self.horizontalLayout_4.setContentsMargins(0, 9, 31, -1)
        self.horizontalLayout_4.setSpacing(1)
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.label_2 = QtWidgets.QLabel(self.frame_6)
        self.label_2.setText("")
        self.label_2.setPixmap(QtGui.QPixmap(":/icons/assets/document.svg"))
        self.label_2.setObjectName("label_2")
        self.horizontalLayout_4.addWidget(self.label_2)
        self.label_3 = QtWidgets.QLabel(self.frame_6)
        self.label_3.setMinimumSize(QtCore.QSize(30, 30))
        self.label_3.setMaximumSize(QtCore.QSize(30, 30))
        self.label_3.setText("")
        self.label_3.setPixmap(QtGui.QPixmap(":/icons/Изображения/document.svg"))
        self.label_3.setObjectName("label_3")
        self.horizontalLayout_4.addWidget(self.label_3)
        spacerItem3 = QtWidgets.QSpacerItem(18, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem3)
        self.weapon = QtWidgets.QPushButton(self.frame_6)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.weapon.sizePolicy().hasHeightForWidth())
        self.weapon.setSizePolicy(sizePolicy)
        self.weapon.setMinimumSize(QtCore.QSize(111, 40))
        self.weapon.setMaximumSize(QtCore.QSize(200, 40))
        font = QtGui.QFont()
        font.setFamily("Copperplate Gothic Bold")
        font.setPointSize(14)
        font.setBold(False)
        font.setWeight(50)
        self.weapon.setFont(font)
        self.weapon.setStyleSheet("QPushButton {\n"
"    border:none;\n"
"    color: rgb(78, 75, 94);      \n"
"    background-color: rgba(255, 255, 255, 0);\n"
"    padding: 5px;\n"
"    }\n"
"\n"
"QPushButton:hover {\n"
"   \n"
"    \n"
"    \n"
"    color: rgb(168, 168, 168);\n"
"    }\n"
"\n"
"QPushButton:pressed {\n"
"    border-style: inset;\n"
"   \n"
"    \n"
"    color: rgb(214, 214, 214);\n"
"    }")
        self.weapon.setInputMethodHints(QtCore.Qt.ImhNone)
        self.weapon.setIconSize(QtCore.QSize(35, 35))
        self.weapon.setAutoExclusive(False)
        self.weapon.setObjectName("weapon")
        self.horizontalLayout_4.addWidget(self.weapon)
        self.verticalLayout_4.addWidget(self.frame_6)
        spacerItem4 = QtWidgets.QSpacerItem(20, 338, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout_4.addItem(spacerItem4)
        self.spravka = QtWidgets.QPushButton(self.frame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.spravka.sizePolicy().hasHeightForWidth())
        self.spravka.setSizePolicy(sizePolicy)
        self.spravka.setMinimumSize(QtCore.QSize(170, 40))
        self.spravka.setMaximumSize(QtCore.QSize(170, 40))
        font = QtGui.QFont()
        font.setFamily("Copperplate Gothic Bold")
        font.setPointSize(12)
        font.setBold(False)
        font.setWeight(50)
        self.spravka.setFont(font)
        self.spravka.setStyleSheet("QPushButton {\n"
"    border:none;\n"
"    color: rgb(78, 75, 94);\n"
"    background-color: rgba(255, 255, 255, 0);\n"
"    padding: 5px;\n"
"\n"
"    }\n"
"QPushButton:hover {\n"
"   \n"
"    \n"
"    color: rgb(168, 168, 168);\n"
"    }\n"
"\n"
"QPushButton:pressed {\n"
"    border-style: inset;\n"
"   \n"
"    color: rgb(214, 214, 214);\n"
"    }")
        self.spravka.setInputMethodHints(QtCore.Qt.ImhNone)
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap(":/icons/Nikita_Pfeyfer4.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.spravka.setIcon(icon4)
        self.spravka.setIconSize(QtCore.QSize(55, 55))
        self.spravka.setAutoExclusive(False)
        self.spravka.setObjectName("spravka")
        self.verticalLayout_4.addWidget(self.spravka)
        self.horizontalLayout_5.addWidget(self.frame)
        self.frame_4 = QtWidgets.QFrame(self.frame_5)
        self.frame_4.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame_4.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_4.setObjectName("frame_4")
        self.horizontalLayout_5.addWidget(self.frame_4)
        self.verticalLayout_2.addWidget(self.frame_5)
        self.verticalLayout.addWidget(self.root)
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" font-size:18pt; color:#ffffff;\">Apex - Helper</span></p></body></html>"))
        self.weapon.setText(_translate("MainWindow", "Weapons"))
        self.spravka.setText(_translate("MainWindow", "Reference"))



    def showmenu(self):
        self.anim = QPropertyAnimation(self.frame, b'size')
        self.anim.setDuration(250)
        if self.menuvisible==0:
            self.anim.setStartValue(QSize(48,589))
            self.anim.setEndValue(QSize(200, 589))
            self.menuvisible = 1
        else:
            self.anim.setStartValue(QSize(200,589))
            self.anim.setEndValue(QSize(48, 589))
            self.menuvisible = 0
            #self.anim.finished.connect(self.hidemenu)
        self.frame.show()
        self.anim.start()
import icons_rc




if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())
python
  • 1 个回答
  • 10 Views
Martin Hope
Никита Пфейфер
Asked: 2022-04-02 21:28:54 +0000 UTC

如何让 Discord bot 向频道(组)的所有用户发送私信?

  • 0

图片1

我试图发送给不和谐服务器的所有用户,但是在尝试写入 *Raid @everyone 时出现错误,找不到 evrivan。如何解决?

import discord 
from discord.ext import commands

import credits 


client = discord.Client()
bot = commands.Bot(command_prefix="*")
token = credits.token_bot


#member_list = [] #Список регестраций, пока оставим

@bot.command(name = "Start")
async def start(ctx):
    await ctx.send('''Привет я игровой бот помощник, я нахожусь в разработке, но уже скоро буду функционировать
    я пока знаю одну команду:
    1) *Map - выслать ссылку на сайт показывающий, где какие ресурсы найти''')


@bot.command(name = 'Map')
async def map(ctx):
    await ctx.send("https://www.newworld-map.com/#/")
    
    
    
@bot.command(name = 'Raid')
async def send_m(ctx, member: discord.Member):
    await member.send(f'{ member.name }, Пора на осаду')


bot.run(token)

在此处输入图像描述

python
  • 1 个回答
  • 10 Views
Martin Hope
Никита Пфейфер
Asked: 2022-09-12 18:46:32 +0000 UTC

如何正确使用布局管理器?

  • 1

当您尝试安装布局管理器时,整个图像会更改其位置,这是合乎逻辑的。

但我不明白如何安装Spacer's,如何更改它们,以使我的程序看起来与布局管理器之前完全一样。

例如,在这里,左边是我的菜单,它是椭圆形的,只是变平了,我不知道如何返回它的大小。
能不能展示一下。

在此处输入图像描述

你能告诉我如何使我的窗口动态化,但仍将对象留在原处以及如何将图片保留在Frame窗口内,同时保持窗口扩展。

我附上.ui文件:

在此处输入图像描述

Apex.ui

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>1209</width>
    <height>747</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <property name="styleSheet">
   <string notr="true"/>
  </property>
  <property name="animated">
   <bool>true</bool>
  </property>
  <widget class="QWidget" name="centralwidget">
   <property name="styleSheet">
    <string notr="true">background-color: rgb(34, 31, 46);</string>
   </property>
   <widget class="QFrame" name="frame">
    <property name="geometry">
     <rect>
      <x>40</x>
      <y>110</y>
      <width>41</width>
      <height>581</height>
     </rect>
    </property>
    <property name="styleSheet">
     <string notr="true">background-color: rgb(46, 43, 63);
border: 5px solid rgba(255, 255, 255, 0);
border-radius: 20px;

</string>
    </property>
    <property name="frameShape">
     <enum>QFrame::StyledPanel</enum>
    </property>
    <property name="frameShadow">
     <enum>QFrame::Raised</enum>
    </property>
    <widget class="QLabel" name="label_10">
     <property name="geometry">
      <rect>
       <x>-24</x>
       <y>530</y>
       <width>71</width>
       <height>41</height>
      </rect>
     </property>
     <property name="styleSheet">
      <string notr="true">background-color: rgb(34, 31, 46);</string>
     </property>
     <property name="text">
      <string/>
     </property>
     <property name="pixmap">
      <pixmap>../Nikita_Pfeyfer4.png</pixmap>
     </property>
    </widget>
    <widget class="QPushButton" name="menu">
     <property name="geometry">
      <rect>
       <x>5</x>
       <y>4</y>
       <width>31</width>
       <height>31</height>
      </rect>
     </property>
     <property name="styleSheet">
      <string notr="true">background-image: url(:/menu/Изображения/3030.png);
border: 1px solid #a112fe;
border-radius: 10;
</string>
     </property>
     <property name="text">
      <string/>
     </property>
    </widget>
    <widget class="QPushButton" name="spravka">
     <property name="geometry">
      <rect>
       <x>30</x>
       <y>530</y>
       <width>141</width>
       <height>41</height>
      </rect>
     </property>
     <property name="sizePolicy">
      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
       <horstretch>0</horstretch>
       <verstretch>0</verstretch>
      </sizepolicy>
     </property>
     <property name="font">
      <font>
       <family>Copperplate Gothic Bold</family>
       <pointsize>12</pointsize>
       <weight>50</weight>
       <bold>false</bold>
      </font>
     </property>
     <property name="styleSheet">
      <string notr="true">QPushButton {
    ;
    
    color: rgb(78, 75, 94);
    background-color: rgba(255, 255, 255, 0);
    padding: 5px;

    }
QPushButton:hover {
   
    
    color: rgb(168, 168, 168);
    }

QPushButton:pressed {
    border-style: inset;
   
    color: rgb(214, 214, 214);
    }</string>
     </property>
     <property name="inputMethodHints">
      <set>Qt::ImhNone</set>
     </property>
     <property name="text">
      <string>Reference</string>
     </property>
     <property name="autoExclusive">
      <bool>false</bool>
     </property>
    </widget>
    <widget class="QLabel" name="label_9">
     <property name="geometry">
      <rect>
       <x>-30</x>
       <y>80</y>
       <width>81</width>
       <height>31</height>
      </rect>
     </property>
     <property name="styleSheet">
      <string notr="true">background-color: rgb(34, 31, 46);
border: 2px solid rgba(34, 31, 46, 0); ;

border-radius: 10</string>
     </property>
     <property name="text">
      <string/>
     </property>
     <property name="pixmap">
      <pixmap>../Nikita_Pfeyfer2.png</pixmap>
     </property>
    </widget>
    <widget class="QPushButton" name="weapon">
     <property name="geometry">
      <rect>
       <x>50</x>
       <y>70</y>
       <width>121</width>
       <height>41</height>
      </rect>
     </property>
     <property name="sizePolicy">
      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
       <horstretch>0</horstretch>
       <verstretch>0</verstretch>
      </sizepolicy>
     </property>
     <property name="font">
      <font>
       <family>Copperplate Gothic Bold</family>
       <pointsize>14</pointsize>
       <weight>50</weight>
       <bold>false</bold>
      </font>
     </property>
     <property name="styleSheet">
      <string notr="true">QPushButton {
    ;
    color: rgb(78, 75, 94);      
    background-color: rgba(255, 255, 255, 0);
    padding: 5px;
    }

QPushButton:hover {
   
    
    
    color: rgb(168, 168, 168);
    }

QPushButton:pressed {
    border-style: inset;
   
    
    color: rgb(214, 214, 214);
    }</string>
     </property>
     <property name="inputMethodHints">
      <set>Qt::ImhNone</set>
     </property>
     <property name="text">
      <string>Weapons</string>
     </property>
     <property name="autoExclusive">
      <bool>false</bool>
     </property>
    </widget>
   </widget>
   <widget class="QFrame" name="frame_2">
    <property name="geometry">
     <rect>
      <x>0</x>
      <y>0</y>
      <width>1211</width>
      <height>21</height>
     </rect>
    </property>
    <property name="styleSheet">
     <string notr="true">background-color: rgb(46, 43, 63);</string>
    </property>
    <property name="frameShape">
     <enum>QFrame::StyledPanel</enum>
    </property>
    <property name="frameShadow">
     <enum>QFrame::Raised</enum>
    </property>
   </widget>
   <widget class="QLabel" name="label">
    <property name="geometry">
     <rect>
      <x>590</x>
      <y>90</y>
      <width>231</width>
      <height>41</height>
     </rect>
    </property>
    <property name="font">
     <font>
      <family>Copperplate Gothic Bold</family>
      <pointsize>28</pointsize>
     </font>
    </property>
    <property name="styleSheet">
     <string notr="true">color: rgb(253, 253, 253);</string>
    </property>
    <property name="text">
     <string>Main Menu</string>
    </property>
    <property name="alignment">
     <set>Qt::AlignCenter</set>
    </property>
   </widget>
   <widget class="Line" name="line">
    <property name="geometry">
     <rect>
      <x>600</x>
      <y>130</y>
      <width>241</width>
      <height>2</height>
     </rect>
    </property>
    <property name="orientation">
     <enum>Qt::Horizontal</enum>
    </property>
   </widget>
   <widget class="QFrame" name="frame_3">
    <property name="geometry">
     <rect>
      <x>260</x>
      <y>180</y>
      <width>261</width>
      <height>161</height>
     </rect>
    </property>
    <property name="styleSheet">
     <string notr="true">background-color: rgb(46, 43, 63);
border: 2px solid #2e2b3f;
border-radius: 10</string>
    </property>
    <property name="frameShape">
     <enum>QFrame::StyledPanel</enum>
    </property>
    <property name="frameShadow">
     <enum>QFrame::Raised</enum>
    </property>
    <widget class="QLabel" name="label_3">
     <property name="geometry">
      <rect>
       <x>70</x>
       <y>0</y>
       <width>121</width>
       <height>41</height>
      </rect>
     </property>
     <property name="font">
      <font>
       <family>Bahnschrift SemiBold</family>
       <pointsize>22</pointsize>
       <weight>75</weight>
       <bold>true</bold>
      </font>
     </property>
     <property name="styleSheet">
      <string notr="true">color: rgb(194, 194, 194);</string>
     </property>
     <property name="text">
      <string>Версия</string>
     </property>
     <property name="alignment">
      <set>Qt::AlignCenter</set>
     </property>
    </widget>
    <widget class="QLabel" name="label_4">
     <property name="geometry">
      <rect>
       <x>70</x>
       <y>60</y>
       <width>121</width>
       <height>61</height>
      </rect>
     </property>
     <property name="font">
      <font>
       <family>Bahnschrift SemiBold</family>
       <pointsize>22</pointsize>
       <weight>75</weight>
       <bold>true</bold>
      </font>
     </property>
     <property name="styleSheet">
      <string notr="true"/>
     </property>
     <property name="text">
      <string>1.0 BETA</string>
     </property>
     <property name="alignment">
      <set>Qt::AlignCenter</set>
     </property>
    </widget>
   </widget>
   <widget class="QTextBrowser" name="textBrowser">
    <property name="geometry">
     <rect>
      <x>570</x>
      <y>170</y>
      <width>256</width>
      <height>351</height>
     </rect>
    </property>
    <property name="styleSheet">
     <string notr="true">background-color: rgb(46, 43, 63);
border: 2px solid #2e2b3f;
border-radius: 10</string>
    </property>
    <property name="html">
     <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600; color:#c2c2c2;&quot;&gt;ApexHelper&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt; font-weight:600;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Эта программа предназначена для того, чтобы помочь новичкам или опытным игрокам более лучше освоить игру&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600; color:#c2c2c2;&quot;&gt;_Apex Legends_&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt; font-weight:600; color:#c2c2c2;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Тут ты найдёшь подробное описание каждого оружия,&lt;/span&gt;&lt;span style=&quot; font-size:12pt; text-decoration: underline;&quot;&gt; &lt;/span&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;обвеса и прочих вещей.&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-style:italic; color:#c2c2c2;&quot;&gt;С уважением, Разработчик &lt;/span&gt;&lt;span style=&quot; font-size:12pt; font-weight:600; font-style:italic; color:#c2c2c2;&quot;&gt;ApexHelper&lt;/span&gt;&lt;span style=&quot; font-size:12pt; color:#c2c2c2;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
    </property>
   </widget>
   <widget class="QFrame" name="frame_4">
    <property name="geometry">
     <rect>
      <x>560</x>
      <y>720</y>
      <width>201</width>
      <height>20</height>
     </rect>
    </property>
    <property name="styleSheet">
     <string notr="true">background-color: rgb(46, 43, 63);
border: 2px solid #2e2b3f;
border-radius: 10</string>
    </property>
    <property name="frameShape">
     <enum>QFrame::StyledPanel</enum>
    </property>
    <property name="frameShadow">
     <enum>QFrame::Raised</enum>
    </property>
    <widget class="QLabel" name="label_5">
     <property name="geometry">
      <rect>
       <x>50</x>
       <y>-2</y>
       <width>101</width>
       <height>21</height>
      </rect>
     </property>
     <property name="font">
      <font>
       <family>Bahnschrift SemiBold SemiConden</family>
       <pointsize>12</pointsize>
       <weight>75</weight>
       <bold>true</bold>
      </font>
     </property>
     <property name="text">
      <string>Всё для вас!</string>
     </property>
     <property name="alignment">
      <set>Qt::AlignCenter</set>
     </property>
    </widget>
   </widget>
   <widget class="QTextBrowser" name="textBrowser_2">
    <property name="geometry">
     <rect>
      <x>260</x>
      <y>360</y>
      <width>261</width>
      <height>161</height>
     </rect>
    </property>
    <property name="styleSheet">
     <string notr="true">background-color: rgb(46, 43, 63);
border: 2px solid #2e2b3f;
border-radius: 10</string>
    </property>
    <property name="html">
     <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:16pt; font-weight:600; color:#c2c2c2;&quot;&gt;Информация&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:16pt; font-weight:600;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt;&quot;&gt;Программа находится в разработке, поэтому, пока что присудствует не вся информация &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
    </property>
   </widget>
   <widget class="Line" name="line_2">
    <property name="geometry">
     <rect>
      <x>309</x>
      <y>391</y>
      <width>161</width>
      <height>2</height>
     </rect>
    </property>
    <property name="orientation">
     <enum>Qt::Horizontal</enum>
    </property>
   </widget>
   <widget class="Line" name="line_3">
    <property name="geometry">
     <rect>
      <x>331</x>
      <y>219</y>
      <width>121</width>
      <height>2</height>
     </rect>
    </property>
    <property name="orientation">
     <enum>Qt::Horizontal</enum>
    </property>
   </widget>
   <widget class="QTextBrowser" name="textBrowser_3">
    <property name="geometry">
     <rect>
      <x>870</x>
      <y>170</y>
      <width>256</width>
      <height>351</height>
     </rect>
    </property>
    <property name="styleSheet">
     <string notr="true">background-color: rgb(46, 43, 63);
border: 2px solid #6c6c00;
border-radius: 10</string>
    </property>
    <property name="html">
     <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:16pt; color:#c2c2c2;&quot;&gt;Кому принадлежит&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:16pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;Все данные, изображения и прочее из программы, принадлежат компании&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:14pt; font-weight:600; color:#6f6f0a;&quot;&gt;Respawn Entertainment&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:14pt; font-weight:600;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;Никому более.&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:14pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;Их материал был повзаимствован для помощи игрокам.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
    </property>
   </widget>
   <widget class="Line" name="line_4">
    <property name="geometry">
     <rect>
      <x>897</x>
      <y>200</y>
      <width>201</width>
      <height>2</height>
     </rect>
    </property>
    <property name="orientation">
     <enum>Qt::Horizontal</enum>
    </property>
   </widget>
   <widget class="QPushButton" name="mainmenu">
    <property name="geometry">
     <rect>
      <x>50</x>
      <y>20</y>
      <width>81</width>
      <height>81</height>
     </rect>
    </property>
    <property name="styleSheet">
     <string notr="true">background-image: url(:/Fone/Изображения/_Logotip_Proz5.png);
border: 1px solid rgba(255, 255, 255, 0);
</string>
    </property>
    <property name="text">
     <string/>
    </property>
   </widget>
   <zorder>label</zorder>
   <zorder>frame_2</zorder>
   <zorder>frame</zorder>
   <zorder>line</zorder>
   <zorder>frame_3</zorder>
   <zorder>textBrowser</zorder>
   <zorder>frame_4</zorder>
   <zorder>textBrowser_2</zorder>
   <zorder>line_2</zorder>
   <zorder>line_3</zorder>
   <zorder>textBrowser_3</zorder>
   <zorder>line_4</zorder>
   <zorder>mainmenu</zorder>
  </widget>
  <action name="action">
   <property name="text">
    <string>справка</string>
   </property>
  </action>
 </widget>
 <resources>
  <include location="../our/ApexFone.qrc"/>
  <include location="../our/menu.qrc"/>
 </resources>
 <connections/>
</ui>
python
  • 1 个回答
  • 10 Views
Martin Hope
Никита Пфейфер
Asked: 2022-09-10 21:24:22 +0000 UTC

如何使框架变小,椭圆形?

  • 1

在此处输入图像描述

在左边的第一张图片中,菜单很小且呈半圆形,而在第二张图片中(我的),随着进一步缩小,椭圆度丢失并frame变成了正方形,我该如何解决这个问题?

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'Apex.ui'
#
# Created by: PyQt5 UI code generator 5.15.2
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from PyQt5 import QtCore, QtGui, QtWidgets    
from PyQt5.QtGui import QColor, QIcon 
from PyQt5.uic import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        self.menuvisible = 0
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1209, 747)
        MainWindow.setStyleSheet("")
        MainWindow.setAnimated(True)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setStyleSheet("background-color: rgb(34, 31, 46);")
        self.centralwidget.setObjectName("centralwidget")
        self.frame = QtWidgets.QFrame(self.centralwidget)
        self.frame.setGeometry(QtCore.QRect(0, 160, 161, 591))
        self.frame.setStyleSheet("background-color: rgb(46, 43, 63);")
        self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame.setObjectName("frame")
        self.weapon = QtWidgets.QPushButton(self.frame)
        self.weapon.setGeometry(QtCore.QRect(40, 100, 121, 41))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.weapon.sizePolicy().hasHeightForWidth())
        self.weapon.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setFamily("Copperplate Gothic Bold")
        font.setPointSize(14)
        font.setBold(False)
        font.setWeight(50)
        self.weapon.setFont(font)
        self.weapon.setStyleSheet("QPushButton {\n"
"    ;\n"
"    color: rgb(78, 75, 94);      \n"
"    background-color: rgba(255, 255, 255, 0);\n"
"    padding: 5px;\n"
"    }\n"
"\n"
"QPushButton:hover {\n"
"   \n"
"    \n"
"    \n"
"    color: rgb(168, 168, 168);\n"
"    }\n"
"\n"
"QPushButton:pressed {\n"
"    border-style: inset;\n"
"   \n"
"    \n"
"    color: rgb(214, 214, 214);\n"
"    }")
        self.weapon.setInputMethodHints(QtCore.Qt.ImhNone)
        self.weapon.setAutoExclusive(False)
        self.weapon.setObjectName("weapon")
        self.spravka = QtWidgets.QPushButton(self.frame)
        self.spravka.setGeometry(QtCore.QRect(40, 540, 111, 41))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.spravka.sizePolicy().hasHeightForWidth())
        self.spravka.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setFamily("Copperplate Gothic Bold")
        font.setPointSize(12)
        font.setBold(False)
        font.setWeight(50)
        self.spravka.setFont(font)
        self.spravka.setStyleSheet("QPushButton {\n"
"    ;\n"
"    \n"
"    color: rgb(78, 75, 94);\n"
"    background-color: rgba(255, 255, 255, 0);\n"
"    padding: 5px;\n"
"\n"
"    }\n"
"QPushButton:hover {\n"
"   \n"
"    \n"
"    color: rgb(168, 168, 168);\n"
"    }\n"
"\n"
"QPushButton:pressed {\n"
"    border-style: inset;\n"
"   \n"
"    color: rgb(214, 214, 214);\n"
"    }")
        self.spravka.setInputMethodHints(QtCore.Qt.ImhNone)
        self.spravka.setAutoExclusive(False)
        self.spravka.setObjectName("spravka")
        self.label_10 = QtWidgets.QLabel(self.frame)
        self.label_10.setGeometry(QtCore.QRect(-20, 540, 61, 41))
        self.label_10.setText("")
        self.label_10.setPixmap(QtGui.QPixmap("Nikita_Pfeyfer4.png"))
        self.label_10.setObjectName("label_10")
        self.label_9 = QtWidgets.QLabel(self.frame)
        self.label_9.setGeometry(QtCore.QRect(-30, 100, 81, 41))
        self.label_9.setText("")
        self.label_9.setPixmap(QtGui.QPixmap("Nikita_Pfeyfer2.png"))
        self.label_9.setObjectName("label_9")
        self.menu = QtWidgets.QPushButton(self.frame)
        self.menu.clicked.connect(self.showmenu) 
        self.menu.setGeometry(QtCore.QRect(10, 20, 51, 51))

        self.menu.setStyleSheet("background-image: url(:/menu/Изображения/back.png);\n"
"border: 1px solid rgba(255, 255, 255, 0);\n"
"")
        self.menu.setText("")
        self.menu.setObjectName("menu")
        self.frame_2 = QtWidgets.QFrame(self.centralwidget)
        self.frame_2.setGeometry(QtCore.QRect(0, 0, 1211, 21))
        self.frame_2.setStyleSheet("background-color: rgb(46, 43, 63);")
        self.frame_2.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame_2.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_2.setObjectName("frame_2")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(610, 90, 231, 41))
        font = QtGui.QFont()
        font.setFamily("Copperplate Gothic Bold")
        font.setPointSize(28)
        self.label.setFont(font)
        self.label.setStyleSheet("color: rgb(253, 253, 253);")
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName("label")
        self.line = QtWidgets.QFrame(self.centralwidget)
        self.line.setGeometry(QtCore.QRect(600, 130, 241, 2))
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.frame_3 = QtWidgets.QFrame(self.centralwidget)
        self.frame_3.setGeometry(QtCore.QRect(260, 180, 261, 161))
        self.frame_3.setStyleSheet("background-color: rgb(46, 43, 63);\n"
"border: 2px solid #2e2b3f;\n"
"border-radius: 10")
        self.frame_3.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame_3.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_3.setObjectName("frame_3")
        self.label_3 = QtWidgets.QLabel(self.frame_3)
        self.label_3.setGeometry(QtCore.QRect(70, 0, 121, 41))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift SemiBold")
        font.setPointSize(22)
        font.setBold(True)
        font.setWeight(75)
        self.label_3.setFont(font)
        self.label_3.setStyleSheet("color: rgb(194, 194, 194);")
        self.label_3.setAlignment(QtCore.Qt.AlignCenter)
        self.label_3.setObjectName("label_3")
        self.label_4 = QtWidgets.QLabel(self.frame_3)
        self.label_4.setGeometry(QtCore.QRect(70, 60, 121, 61))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift SemiBold")
        font.setPointSize(22)
        font.setBold(True)
        font.setWeight(75)
        self.label_4.setFont(font)
        self.label_4.setStyleSheet("")
        self.label_4.setAlignment(QtCore.Qt.AlignCenter)
        self.label_4.setObjectName("label_4")
        self.textBrowser = QtWidgets.QTextBrowser(self.centralwidget)
        self.textBrowser.setGeometry(QtCore.QRect(570, 170, 256, 351))
        self.textBrowser.setStyleSheet("background-color: rgb(46, 43, 63);\n"
"border: 2px solid #2e2b3f;\n"
"border-radius: 10")
        self.textBrowser.setObjectName("textBrowser")
        self.frame_4 = QtWidgets.QFrame(self.centralwidget)
        self.frame_4.setGeometry(QtCore.QRect(560, 720, 201, 20))
        self.frame_4.setStyleSheet("background-color: rgb(46, 43, 63);\n"
"border: 2px solid #2e2b3f;\n"
"border-radius: 10")
        self.frame_4.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame_4.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_4.setObjectName("frame_4")
        self.label_5 = QtWidgets.QLabel(self.frame_4)
        self.label_5.setGeometry(QtCore.QRect(50, -2, 101, 21))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift SemiBold SemiConden")
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.label_5.setFont(font)
        self.label_5.setAlignment(QtCore.Qt.AlignCenter)
        self.label_5.setObjectName("label_5")
        self.textBrowser_2 = QtWidgets.QTextBrowser(self.centralwidget)
        self.textBrowser_2.setGeometry(QtCore.QRect(260, 360, 261, 161))
        self.textBrowser_2.setStyleSheet("background-color: rgb(46, 43, 63);\n"
"border: 2px solid #2e2b3f;\n"
"border-radius: 10")
        self.textBrowser_2.setObjectName("textBrowser_2")
        self.line_2 = QtWidgets.QFrame(self.centralwidget)
        self.line_2.setGeometry(QtCore.QRect(309, 391, 161, 2))
        self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_2.setObjectName("line_2")
        self.line_3 = QtWidgets.QFrame(self.centralwidget)
        self.line_3.setGeometry(QtCore.QRect(331, 219, 121, 2))
        self.line_3.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_3.setObjectName("line_3")
        self.textBrowser_3 = QtWidgets.QTextBrowser(self.centralwidget)
        self.textBrowser_3.setGeometry(QtCore.QRect(870, 170, 256, 351))
        self.textBrowser_3.setStyleSheet("background-color: rgb(46, 43, 63);\n"
"border: 2px solid #6c6c00;\n"
"border-radius: 10")
        self.textBrowser_3.setObjectName("textBrowser_3")
        self.line_4 = QtWidgets.QFrame(self.centralwidget)
        self.line_4.setGeometry(QtCore.QRect(897, 200, 201, 2))
        self.line_4.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_4.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_4.setObjectName("line_4")
        self.frame_5 = QtWidgets.QFrame(self.centralwidget)
        self.frame_5.setGeometry(QtCore.QRect(0, -1, 161, 170))
        self.frame_5.setStyleSheet("background-color: rgb(46, 43, 63);")
        self.frame_5.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame_5.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_5.setObjectName("frame_5")
        self.mainmenu = QtWidgets.QPushButton(self.frame_5)
        self.mainmenu.setGeometry(QtCore.QRect(0, 0, 161, 161))
        self.mainmenu.setStyleSheet("background-image: url(:/Fone/Изображения/_Logotip_Proz3.png); \n"
"border: 1px solid rgba(255, 255, 255, 0);\n"
"")
        self.mainmenu.setText("")
        self.mainmenu.setObjectName("mainmenu")
        self.frame_2.raise_()
        self.frame.raise_()
        self.label.raise_()
        self.line.raise_()
        self.frame_3.raise_()
        self.textBrowser.raise_()
        self.frame_4.raise_()
        self.textBrowser_2.raise_()
        self.line_2.raise_()
        self.line_3.raise_()
        self.textBrowser_3.raise_()
        self.line_4.raise_()
        self.frame_5.raise_()
        MainWindow.setCentralWidget(self.centralwidget)
        self.action = QtWidgets.QAction(MainWindow)
        self.action.setObjectName("action")

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.weapon.setText(_translate("MainWindow", "Weapons"))
        self.spravka.setText(_translate("MainWindow", "Reference"))
        self.label.setText(_translate("MainWindow", "Main Menu"))
        self.label_3.setText(_translate("MainWindow", "Версия"))
        self.label_4.setText(_translate("MainWindow", "1.0 BETA"))
        self.textBrowser.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:12pt; font-weight:600; color:#c2c2c2;\">ApexHelper</span></p>\n"
"<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt; font-weight:600;\"><br /></p>\n"
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:12pt;\">Эта программа предназначена для того, чтобы помочь новичкам или опытным игрокам более лучше освоить игру</span></p>\n"
"<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;\"><br /></p>\n"
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:12pt; font-weight:600; color:#c2c2c2;\">_Apex Legends_</span></p>\n"
"<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt; font-weight:600; color:#c2c2c2;\"><br /></p>\n"
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:12pt;\">Тут ты найдёшь подробное описание каждого оружия,</span><span style=\" font-size:12pt; text-decoration: underline;\"> </span><span style=\" font-size:12pt;\">обвеса и прочих вещей.</span></p>\n"
"<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;\"><br /></p>\n"
"<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;\"><br /></p>\n"
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:12pt; font-style:italic; color:#c2c2c2;\">С уважением, Разработчик </span><span style=\" font-size:12pt; font-weight:600; font-style:italic; color:#c2c2c2;\">ApexHelper</span><span style=\" font-size:12pt; color:#c2c2c2;\">.</span></p>\n"
"<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;\"><br /></p></body></html>"))
        self.label_5.setText(_translate("MainWindow", "Всё для вас!"))
        self.textBrowser_2.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:16pt; font-weight:600; color:#c2c2c2;\">Информация</span></p>\n"
"<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:16pt; font-weight:600;\"><br /></p>\n"
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:12pt;\">Программа находится в разработке, поэтому, пока что присудствует не вся информация </span></p></body></html>"))
        self.textBrowser_3.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:16pt; color:#c2c2c2;\">Кому принадлежит</span></p>\n"
"<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:16pt;\"><br /></p>\n"
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:16pt;\">Все данные, изображения и прочее из программы, принадлежат компании</span></p>\n"
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:16pt;\"> </span></p>\n"
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:14pt; font-weight:600; color:#6f6f0a;\">Respawn Entertainment</span></p>\n"
"<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:14pt; font-weight:600;\"><br /></p>\n"
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:14pt;\">Никому более.</span></p>\n"
"<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:14pt;\"><br /></p>\n"
"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:14pt;\">Их материал был повзаимствован для помощи игрокам.</span></p></body></html>"))
        self.action.setText(_translate("MainWindow", "справка"))

    def showmenu(self):
        self.anim = QPropertyAnimation(self.frame, b'size')
        self.anim.setDuration(250)
        if self.menuvisible==0:
            self.anim.setStartValue(QSize(50,751))
            self.anim.setEndValue(QSize(161, 751))
            self.menuvisible = 1
        else:
            self.anim.setStartValue(QSize(161,751))
            self.anim.setEndValue(QSize(50, 751))
            self.menuvisible = 0
            #self.anim.finished.connect(self.hidemenu)
        self.frame.show()
        self.anim.start()

import ApexFone
import menu

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())
python
  • 1 个回答
  • 10 Views
Martin Hope
Никита Пфейфер
Asked: 2022-09-06 05:38:23 +0000 UTC

如何制作动画,标签图像外观平滑?

  • 1

如何使图像label逐渐(平滑)出现。

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow10(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(492, 613)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setStyleSheet("#centralwidget{\n"
"background-color: rgb(0, 0, 0);\n"
"}")
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
        self.verticalLayout.setObjectName("verticalLayout")
        self.frame = QtWidgets.QFrame(self.centralwidget)
        self.frame.setStyleSheet("QFrame {\n"
"background-color: rgb(0, 0, 0);\n"
"color: rgb(220, 220, 220);\n"
"border-radius: 10px\n"
"\n"
"}")
        self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame.setObjectName("frame")
        self.progressBar = QtWidgets.QProgressBar(self.frame)
        self.progressBar.setGeometry(QtCore.QRect(156, 530, 161, 21))
        self.progressBar.setStyleSheet("QProgressBar{\n"
"background-color: rgb(98, 114, 164);\n"
"color: rgb(200, 200, 200);\n"
"border-style:  none;\n"
"\n"
"\n"
"text-align: center\n"
"}\n"
"\n"
"QProgressBar::chunk{\n"
"\n"
"border-radius: 10 px;\n"
"    background-color: rgb(255, 255, 255);\n"
"}")
        self.progressBar.setProperty("value", 24)
        self.progressBar.setAlignment(QtCore.Qt.AlignCenter)
        self.progressBar.setObjectName("progressBar")
        self.label_4 = QtWidgets.QLabel(self.frame)
        self.label_4.setGeometry(QtCore.QRect(300, 560, 181, 31))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_4.setFont(font)
        self.label_4.setStyleSheet("color: rgb(98, 114, 164);")
        self.label_4.setObjectName("label_4")
        self.label_3 = QtWidgets.QLabel(self.frame)
        self.label_3.setGeometry(QtCore.QRect(20, 0, 431, 291))
        self.label_3.setText("")
        self.label_3.setPixmap(QtGui.QPixmap("Изображения/bb.jpg"))
        self.label_3.setAlignment(QtCore.Qt.AlignCenter)
        self.label_3.setObjectName("label_3")
        self.label = QtWidgets.QLabel(self.frame)
        self.label.setGeometry(QtCore.QRect(42, 274, 391, 231))
        self.label.setText("")
        self.label.setPixmap(QtGui.QPixmap("Изображения/ggg.jpg"))
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName("label")
        self.verticalLayout.addWidget(self.frame)
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label_4.setText(_translate("MainWindow", "<strong>Created</strong>: Nanoxia"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow10()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

在此处输入图像描述

这是主文件中的类,但图片仍然不流畅

counter = 0 
class SplashScreen(QtWidgets.QMainWindow, Ui_MainWindow10):
    def __init__(self):
        QMainWindow.__init__(self)
        self.ui = Ui_MainWindow10()
        self.ui.setupUi(self)

    ## Remove Title Bar
        self.setWindowFlag(QtCore.Qt.FramelessWindowHint)
        self.setAttribute(QtCore.Qt.WA_TranslucentBackground)

    ##Drop shadow Effect
        self.shadow = QGraphicsDropShadowEffect(self)
        self.shadow.setBlurRadius(20)
        self.shadow.setXOffset(0)
        self.shadow.setYOffset(0)
        self.shadow.setColor(QColor(0, 0, 0, 60))
        self.ui.frame.setGraphicsEffect(self.shadow)

    # QTImer ==> Start

        self.timer = QtCore.QTimer()
        self.timer.timeout.connect(self.progress)

    ##Timer in millisecond
        self.timer.start(35)

    def progress(self):

        global counter

        # SET Value to progress bar
        self.ui.progressBar.setValue(counter)

        # CLose splash scree and open app

        if counter > 100:
            #stop timer
            self.timer.stop()
            
            #show main window
            self.main = MainWindow()
            self.main.show()

            #close splash screen
            self.close()

        counter += 1
    
    def start_animation(self):
        opacity_effect = QtWidgets.QGraphicsOpacityEffect(self.label)
        self.label.setGraphicsEffect(opacity_effect)

        geometry_animation = QtCore.QPropertyAnimation(
            self.label,
            b"geometry",
            duration=4700,
            startValue=QtCore.QRect(190, -260, 671, 261),
            endValue=QtCore.QRect(42, 274, 391, 231),
        )

        opacity_animation = QtCore.QPropertyAnimation(
            opacity_effect, 
            b"opacity", 
            duration=6000, 
            startValue=0.0, 
            endValue=1.0
        )

        group = QtCore.QParallelAnimationGroup(self.label)
        group.addAnimation(geometry_animation)
        group.addAnimation(opacity_animation)
        group.start(QtCore.QAbstractAnimation.DeleteWhenStopped)
python
  • 1 个回答
  • 10 Views
Martin Hope
Никита Пфейфер
Asked: 2022-08-21 03:31:16 +0000 UTC

QTimer 不工作

  • 0

一张照片

我进入了说明,做了与那里写的一样的事情,但是出现了某种错误。

我不确定,但我认为它只适用于PySide2吗?

python
  • 1 个回答
  • 10 Views
Martin Hope
Никита Пфейфер
Asked: 2022-08-21 02:19:43 +0000 UTC

在 Qt Designer 中准备的表单未正确加载到窗口中

  • 1

一张照片

我已经在main.py中导入了带有这个加载屏幕的文件

ajnj

渲染它,但是当你运行它时会发生以下情况:

一张照片

主文件

import sys
from PyQt5 import QtCore, QtGui, QtWidgets    
from PyQt5.QtGui import QIcon 
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
################################## Тут вызовы  ui файлов

from Apex import Ui_MainWindow # Основное окно начало

from weaponsUIrepeat import Ui_other # окно Оружия
from wedomiy import Ui_MainWindow1 # окно пистолета wedomiy
from pistoll import Ui_MainWindow2 # окно пистолеты
from p2020 import Ui_MainWindow3 # окно пистолета p2020
from RE import Ui_MainWindow4 # окно пистолета RE 
from pp import Ui_MainWindow5 # окно пистолеты пулемёты 
from SMG import Ui_MainWindow6 # окно Пп сменщик 
from ISH import Ui_MainWindow7 # окно Пп ищейка
from R99 import Ui_MainWindow8 # окно Пп R99
from VOLT import Ui_MainWindow9 # окно Пп R99
from Spravka import Ui_Form #окно справки
from progress import Ui_Form1

class Apexhelper(QtWidgets.QMainWindow, Ui_MainWindow):                          # + Ui_MainWindow
    def __init__(self, parent=None):
        super(Apexhelper, self).__init__(parent) 
        self.setupUi(self)

class SplashScreen(QtWidgets.QMainWindow, Ui_Form1):
    def __init__(self):
        super(SplashScreen, self).__init__()
        self.setupUi(self)


    # ## Remove Title Bar
    #     self.setWindowFlag(QtCore.Qt.FramelessWindowHint)
    #     self.setAttribute(QtCore.Qt.WA_TranslucentBackground)

class Spravka(QtWidgets.QMainWindow, Ui_Form):
    def __init__(self):
        super(Spravka, self).__init__()
        self.setupUi(self)


class Wedomi(QtWidgets.QMainWindow, Ui_MainWindow1):                            # + Ui_MainWindow1
    def __init__(self):
        super(Wedomi, self).__init__()
        self.setupUi(self) 

class Weapon(QtWidgets.QMainWindow, Ui_other):                                  # + Ui_other
    def __init__(self):
        super(Weapon, self).__init__()     
        self.setupUi(self)

class pistoll (QtWidgets.QMainWindow, Ui_MainWindow2):
    def __init__(self):
        super(pistoll, self).__init__()
        self.setupUi(self)
      #  self.setStyleSheet(' .QWidget {background-image: url(5555.jpg);}')

class P2020 (QtWidgets.QMainWindow, Ui_MainWindow3):
    def __init__(self):
        super(P2020, self).__init__()
        self.setupUi(self)

class RE(QtWidgets.QMainWindow, Ui_MainWindow4):
    def __init__(self):
        super(RE, self).__init__()
        self.setupUi(self)

class PP(QtWidgets.QMainWindow, Ui_MainWindow5):
    def __init__(self):
        super(PP, self).__init__()
        self.setupUi(self)

class SMG(QtWidgets.QMainWindow, Ui_MainWindow6):
    def __init__(self):
        super(SMG, self).__init__()
        self.setupUi(self)

class ISH(QtWidgets.QMainWindow, Ui_MainWindow7):
    def __init__(self):
        super(ISH, self).__init__()
        self.setupUi(self)

class R99(QtWidgets.QMainWindow, Ui_MainWindow8):
    def __init__(self):
        super(R99, self).__init__()
        self.setupUi(self)

class VOLT(QtWidgets.QMainWindow, Ui_MainWindow9):
    def __init__(self):
        super(VOLT, self).__init__()
        self.setupUi(self)             


# Начало основного класса 
class MainWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()
    
        self.centralWidget = QWidget()
        self.setCentralWidget(self.centralWidget)      #создали центральный виджет  
        # Начало класса apexHelper
        self.apexHelper = Apexhelper(self) # экземпляр класса ApexHelper
        self.apexHelper.weapon.clicked.connect(self.gotoWeapon)
        self.apexHelper.spravka.clicked.connect(self.gotospravka)
        # конец класса apexHelper
        
        # self.test = Test() ------------------------------------------------------

        # Начало класса Weapon
        self.weapon = Weapon() # экземпляр класса Weapon
        self.weapon.back.clicked.connect(self.gotomain)
        self.weapon.pistol.clicked.connect(self.gotopistol)
        self.weapon.PistolP.clicked.connect(self.gotoPP)
        # конец класса Weapon

        #начало класса Spravka
        self.spravka = Spravka() #экземпляр класса Spravka
        self.spravka.pushButton.clicked.connect(self.gotomain)
        self.spravka.vk.clicked.connect(self.on_link)
        #конец класса Spravka

        # Начало класса pistoll
        self.pist = pistoll() #экземпляр класса pistoll
        self.pist.backk.clicked.connect(self.gotoWeapon)
        # конец класса pistoll

        # начало класса R99
        self.r99 = R99()
        self.r99.back11.clicked.connect(self.gotoPP)
        # конец класса R99

        # начало класса VOLT
        self.volt = VOLT()
        self.volt.back11.clicked.connect(self.gotoPP)
        # конец класса VOLT


        # начало класса SMG
        self.smg = SMG()
        self.smg.back11.clicked.connect(self.gotoPP)
        # конец класса SMG

        # начало класса ISH
        self.ish = ISH()
        self.ish.back11.clicked.connect(self.gotoPP)
        # конец класса ISH

        # Начало класса p2020
        self.p2020 = P2020()
        self.p2020.back1.clicked.connect(self.gotopistol)
        # конец класса p2020

        # Начало класса RE
        self.re = RE()
        self.re.back1.clicked.connect(self.gotopistol)
        # конец класса RE

        # Начало класса Пистолеты-полемёты
        self.pp = PP() #экземпляр класса PP
        self.pp.backkk.clicked.connect(self.gotoWeapon)
        self.pp.smen.clicked.connect(self.gotosmg)
        self.pp.ihek.clicked.connect(self.gotoish)
        self.pp.R99.clicked.connect(self.gotoR99)
        self.pp.volt.clicked.connect(self.gotovolt)
        # Конец класса Пистолеты-полемёты



        # Начало класса wedomi
        self.wedomi = Wedomi() # экземпляр класса Wedomi    
        self.wedomi.backtoweapon.clicked.connect(self.gotopistol)                          
        # Конец класса wedomi

        #Начало виджетов
        self.stack = QStackedWidget()      # QStackedWidget видно сразу несколько виджетов                                                  # !!!               
        self.stack.addWidget(self.apexHelper)
        self.stack.addWidget(self.weapon)    # 1   self.stack.setCurrentIndex(1)
        self.stack.addWidget(self.wedomi) # 2 self.stack.setCurrentIndex(2)
        self.stack.addWidget(self.pist) #3 self.stack.setCurrentIndex(3) - ломается
        self.stack.addWidget(self.p2020) #4 self.stack.setCurrentIndex(4)
        self.stack.addWidget(self.re) #5 self.stack.setCurrentIndex(5)
        self.stack.addWidget(self.pp) #6 self.stack.setCurrentIndex(6)
        self.stack.addWidget(self.smg) #7 self.stack.setCurrentIndex(7)
        self.stack.addWidget(self.ish)#8 self.stack.setCurrentIndex(8)
        self.stack.addWidget(self.r99)#9 self.stack.setCurrentIndex(9)
        self.stack.addWidget(self.volt)#10 self.stack.setCurrentIndex(10)
        self.stack.addWidget(self.spravka) #11 self.stack.setCurrentIndex(11)
        
        self.stack.setCurrentIndex(0)
        self.nameProgramm(self.stack.currentIndex())  
        self.gotomain()   
       

        hbox = QHBoxLayout(self.centralWidget)
        hbox.setContentsMargins(0, 0, 0, 0) #вроде можно без этого ????????????????????????????????????
        hbox.addWidget(self.stack)
    
    def nameProgramm(self, w=0):
        if w == 0:
            self.setWindowTitle('Apex Helper')
            self.setWindowIcon(QIcon('gg.jpg'))                         
        elif w == 1:   
            self.setWindowTitle('Weapon')
            self.setWindowIcon(QIcon('rtg.jpg'))                             
        elif w == 2:   
            self.setWindowTitle('Wedomi')
            self.setWindowIcon(QIcon('wedomiy.png'))       
        elif w == 3:   
            self.setWindowTitle('Pistol')
            self.setWindowIcon(QIcon('ty.jpg'))
        elif w == 4:   
            self.setWindowTitle('P2020')
            self.setWindowIcon(QIcon('p2020.png'))
        elif w == 5:   
            self.setWindowTitle('RE-45 Auto')
            self.setWindowIcon(QIcon('re.png'))
        elif w == 6:   
            self.setWindowTitle('Pistol-P')
            self.setWindowIcon(QIcon('fgh.png')) 
        elif w == 7:   
            self.setWindowTitle('SMG')
            self.setWindowIcon(QIcon('SMG.png'))
        elif w == 8:   
            self.setWindowTitle('ISH')
            self.setWindowIcon(QIcon('ish.png'))
        elif w == 9:   
            self.setWindowTitle('R99')
            self.setWindowIcon(QIcon('R99.png'))    
        elif w == 10:   
            self.setWindowTitle('VOLT')
            self.setWindowIcon(QIcon('Volt.png'))   
        elif w == 11:
            self.setWindowTitle('Справка')
            self.setWindowIcon(QIcon('kisspng.jpg'))                                        

    def gotomain(self):
        self.stack.setCurrentIndex(0)
        self.nameProgramm(self.stack.currentIndex())

        self.setFixedSize(400, 531)
        
    def gotoWeapon(self):  
        self.stack.setCurrentIndex(1)
        self.nameProgramm(self.stack.currentIndex())

        #self.resize(435, 772)
        self.setFixedSize(435, 625) # С этим разобрались
        
    def gotowedomi(self):
        self.stack.setCurrentIndex(2)
        self.nameProgramm(self.stack.currentIndex())
    
    def gotopistol(self):
        self.stack.setCurrentIndex(3)
        self.nameProgramm(self.stack.currentIndex())
        self.setFixedSize(481, 673)
    
    def gotop2020(self):
        self.stack.setCurrentIndex(4)
        self.nameProgramm(self.stack.currentIndex())
    
    def gotoRE(self):
        self.stack.setCurrentIndex(5)
        self.nameProgramm(self.stack.currentIndex())

    def gotoPP(self):
        self.stack.setCurrentIndex(6)
        self.nameProgramm(self.stack.currentIndex())

    def gotosmg(self):
        self.stack.setCurrentIndex(7)
        self.nameProgramm(self.stack.currentIndex())

    def gotoish(self):
        self.stack.setCurrentIndex(8)
        self.nameProgramm(self.stack.currentIndex())

    def gotoR99(self):
        self.stack.setCurrentIndex(9)
        self.nameProgramm(self.stack.currentIndex())
    
    def gotovolt(self):
        self.stack.setCurrentIndex(10)
        self.nameProgramm(self.stack.currentIndex())

    def gotospravka(self):
        self.stack.setCurrentIndex(11)
        self.nameProgramm(self.stack.currentIndex())
        self.setFixedSize(400, 510)

    def on_link(self):
        url = 'https://vk.com/iddota2reborn1'
        QtGui.QDesktopServices.openUrl(QtCore.QUrl(url))


if __name__ == "__main__":     
    app = QtWidgets.QApplication(sys.argv)
    w = SplashScreen()   #Изменил было MainWindow
    #w.setFixedSize(435, 625)                                      # --- ApexHelper(), +++ MainWindow
    w.show()            
    sys.exit(app.exec_())

进度.py

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form1(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(680, 400)
        self.verticalLayout = QtWidgets.QVBoxLayout(Form)
        self.verticalLayout.setObjectName("verticalLayout")
        self.frame = QtWidgets.QFrame(Form)
        self.frame.setStyleSheet("QFrame {\n"
"background-color: rgb(56, 58, 89);\n"
"color: rgb(220, 220, 220);\n"
"border-radius: 10px\n"
"\n"
"}")
        self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame.setObjectName("frame")
        self.label = QtWidgets.QLabel(self.frame)
        self.label.setGeometry(QtCore.QRect(10, 90, 651, 91))
        font = QtGui.QFont()
        font.setPointSize(40)
        self.label.setFont(font)
        self.label.setStyleSheet("color: rgb(254, 121, 199);")
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName("label")
        self.progressBar = QtWidgets.QProgressBar(self.frame)
        self.progressBar.setGeometry(QtCore.QRect(40, 278, 581, 21))
        self.progressBar.setStyleSheet("QProgressBar {\n"
"   \n"
" background-color: rgb(98, 114, 164);\n"
" color: rgb(200, 200, 200);\n"
" border-style:  none;\n"
" border-radius: 10px;\n"
"text-align: center\n"
"}\n"
"QProgressBar::chunk{\n"
"  border-radius: 10 px;\n"
"  background-color: qlineargradient(spread:pad, x1:0, y1:0.545, x2:1, y2:0.54, stop:0 rgba(254, 121, 199, 255), stop:1 rgba(170, 85, 255, 255));\n"
"}")
        self.progressBar.setProperty("value", 24)
        self.progressBar.setObjectName("progressBar")
        self.label_2 = QtWidgets.QLabel(self.frame)
        self.label_2.setGeometry(QtCore.QRect(242, 170, 201, 31))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_2.setFont(font)
        self.label_2.setStyleSheet("color: rgb(98, 114, 164);")
        self.label_2.setObjectName("label_2")
        self.label_3 = QtWidgets.QLabel(self.frame)
        self.label_3.setGeometry(QtCore.QRect(298, 300, 101, 31))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_3.setFont(font)
        self.label_3.setStyleSheet("color: rgb(98, 114, 164);")
        self.label_3.setObjectName("label_3")
        self.label_4 = QtWidgets.QLabel(self.frame)
        self.label_4.setGeometry(QtCore.QRect(500, 350, 181, 31))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_4.setFont(font)
        self.label_4.setStyleSheet("color: rgb(98, 114, 164);")
        self.label_4.setObjectName("label_4")
        self.verticalLayout.addWidget(self.frame)

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.label.setText(_translate("Form", "<strong>Apex</strong>Helper"))
        self.label_2.setText(_translate("Form", "<strong>Your Helper</strong> in game"))
        self.label_3.setText(_translate("Form", "<html><head/><body><p>loading...</p></body></html>"))
        self.label_4.setText(_translate("Form", "<strong>Created</strong>: Nanoxia"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = Ui_Form1()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())

https://drive.google.com/drive/folders/1dDqFdUJ-J1ggRFX5OLuaX43_ObylRoRV?usp=sharing

这是所有文件的链接

python
  • 1 个回答
  • 10 Views
Martin Hope
Никита Пфейфер
Asked: 2022-08-21 01:36:17 +0000 UTC

为什么边界半径不起作用

  • 1

一张照片

为什么border-radius进度条不起作用?它似乎适用于其他小部件,但不适用于此处。

QProgressBar{
background-color: rgb(98, 114, 164);
color: rgb(200, 200, 200);
border-style:  none;


text-align: center
}

QProgressBar::chunk{

border-radius: 10 px;
    background-color: qlineargradient(spread:pad, x1:0, y1:0.545, x2:1, y2:0.54, stop:0 rgba(254, 121, 199, 255), stop:1 rgba(170, 85, 255, 255));

}

在此处输入图像描述

我添加了它,它不起作用..

python
  • 1 个回答
  • 10 Views
Martin Hope
Никита Пфейфер
Asked: 2022-08-19 05:20:29 +0000 UTC

可以把程序变成exe吗?[关闭]

  • 0
关闭。这个问题需要具体说明。目前不接受回复。

你想改进这个问题吗? 重新构建问题,使其只关注一个问题。

1 年前关闭。

改进问题

许多文件

是否可以将我的多文件程序转换为 exe?

我把pyqt5文件转成exe的时候只有一个文件,而且有几十个,但主要的是main。

python
  • 1 个回答
  • 10 Views
Martin Hope
Никита Пфейфер
Asked: 2022-08-10 23:09:13 +0000 UTC

如何为按钮添加超链接?

  • 1

样式表

是否可以通过Qt Designer程序以某种方式向按钮添加超链接?

https://isstatic.askoverflow.dev/YbFsP.jpg

这条线是什么?

python
  • 1 个回答
  • 10 Views
Martin Hope
Никита Пфейфер
Asked: 2022-07-15 21:57:39 +0000 UTC

第一个窗口不能修改。

  • 1

规模

当程序启动时,初始窗口并没有保持原来的大小,而是中断...

我self.serfexedsize在方法gotomane(219) 代码行中指定了 ,。但此修复仅在我从另一个窗口返回此窗口时有效。

如何让第一个窗口以正确的大小启动。

所以你可以看到有什么坏了。从 git hub https://github.com/Nanoxia123/wednesday18_00 apexx 文件下载完整文件

python
  • 1 个回答
  • 10 Views
Martin Hope
Никита Пфейфер
Asked: 2022-07-15 19:38:31 +0000 UTC

如何设置与父背景不同的按钮背景

  • 1

按钮

为什么按钮会继承背景颜色?

如何使按钮具有我指定的背景?

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(400, 531)
        MainWindow.setStyleSheet("background-color: #22222e")
        MainWindow.setAnimated(True)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setStyleSheet("background-image: url(:/Fone/5myPN2ppKpA.jpg);")
        self.centralwidget.setObjectName("centralwidget")
        self.weapon = QtWidgets.QPushButton(self.centralwidget)
        self.weapon.setGeometry(QtCore.QRect(140, 480, 111, 31))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.weapon.sizePolicy().hasHeightForWidth())
        self.weapon.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setFamily("Copperplate Gothic Bold")
        font.setPointSize(12)
        font.setBold(False)
        font.setWeight(50)
        self.weapon.setFont(font)
        self.weapon.setStyleSheet("QPushButton {\n"
"color: white;\n"
"border: 2px solid #747a06;\n"
"}")
        self.weapon.setInputMethodHints(QtCore.Qt.ImhNone)
        self.weapon.setAutoExclusive(False)
        self.weapon.setObjectName("weapon")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 400, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.weapon.setText(_translate("MainWindow", "Weapons"))
import ApexFone_rc


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

中央小部件


更新

在这里他指出.QWidget(在中央小部件上),但程序本身并未显示背景,如果您仅启动程序演示,则会显示它。

用户界面文件

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>400</width>
    <height>531</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <property name="styleSheet">
   <string notr="true">background-color: #22222e</string>
  </property>
  <property name="animated">
   <bool>true</bool>
  </property>
  <widget class="QWidget" name="centralwidget">
   <property name="styleSheet">
    <string notr="true">background-image: url(:/Fone/5myPN2ppKpA.jpg);</string>
   </property>
   <widget class="QPushButton" name="weapon">
    <property name="geometry">
     <rect>
      <x>140</x>
      <y>480</y>
      <width>111</width>
      <height>31</height>
     </rect>
    </property>
    <property name="sizePolicy">
     <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
      <horstretch>0</horstretch>
      <verstretch>0</verstretch>
     </sizepolicy>
    </property>
    <property name="font">
     <font>
      <family>Copperplate Gothic Bold</family>
      <pointsize>12</pointsize>
      <weight>50</weight>
      <bold>false</bold>
     </font>
    </property>
    <property name="styleSheet">
     <string notr="true">QPushButton {
color: white;
border: 2px solid #747a06;
}</string>
    </property>
    <property name="inputMethodHints">
     <set>Qt::ImhNone</set>
    </property>
    <property name="text">
     <string>Weapons</string>
    </property>
    <property name="autoExclusive">
     <bool>false</bool>
    </property>
   </widget>
  </widget>
  <widget class="QMenuBar" name="menubar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>400</width>
     <height>21</height>
    </rect>
   </property>
  </widget>
  <widget class="QStatusBar" name="statusbar"/>
 </widget>
 <resources>
  <include location="../our/ApexFone.qrc"/>
 </resources>
 <connections/>
</ui>
python
  • 1 个回答
  • 10 Views
Martin Hope
Никита Пфейфер
Asked: 2022-07-09 23:26:50 +0000 UTC

窗口背景图像和小部件尺寸

  • 1

的背景

我在Qt Designer中给程序添加了背景,但是VS不接受已经出现的两个库,但是需要。

使用时 w.setFixedSize(435, 625),该功能self.resize()停止工作。

这段代码(pistoll.py)是在Qt Designer中制作的,我只是添加了一个背景,但是在第 69-70 行有一些奇怪的导入没有被读取。

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(435, 615)
        MainWindow.setStyleSheet("background-image: url(:/Fone/fff.jpg);")
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setStyleSheet("background-color: #000000")
        self.centralwidget.setObjectName("centralwidget")
        self.backk = QtWidgets.QPushButton(self.centralwidget)
        self.backk.setGeometry(QtCore.QRect(160, 320, 75, 26))
        self.backk.setStyleSheet("QPushButton {\n"
"color: White;\n"
"background-color: #708090;\n"
"}")
        self.backk.setObjectName("backk")
        self.p2020 = QtWidgets.QPushButton(self.centralwidget)
        self.p2020.setGeometry(QtCore.QRect(160, 270, 81, 31))
        self.p2020.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #708090;\n"
"}")
        self.p2020.setObjectName("p2020")
        self.re = QtWidgets.QPushButton(self.centralwidget)
        self.re.setGeometry(QtCore.QRect(160, 230, 81, 31))
        self.re.setStyleSheet("QPushButton {\n"
"color: White;\n"
"background-color: #708090;\n"
"}")
        self.re.setObjectName("re")
        self.wedom = QtWidgets.QPushButton(self.centralwidget)
        self.wedom.setGeometry(QtCore.QRect(160, 180, 101, 31))
        self.wedom.setStyleSheet("QPushButton {\n"
"color: White;\n"
"background-color: #708090;\n"
"}")
        self.wedom.setObjectName("wedom")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 435, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.backk.setText(_translate("MainWindow", "Назад"))
        self.p2020.setText(_translate("MainWindow", "p2020"))
        self.re.setText(_translate("MainWindow", "RE-45 Auto"))
        self.wedom.setText(_translate("MainWindow", "Ведомый(Wigman)"))
import backfone_rc
import ss_rc


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

现在关于self.resize,当使用时w.setFixedSize(),方法中的函数self.resize停止工作(也许应该在其他地方指定)?

主文件

import sys
from PyQt5 import QtCore, QtGui, QtWidgets    
from PyQt5.QtGui import QIcon 
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
################################## Тут вызовы  ui файлов

from Apex import Ui_MainWindow # Основное окно начало
from testdelete import Ui_Form
from weaponsUIrepeat import Ui_other # окно Оружия
from wedomiy import Ui_MainWindow1 # окно пистолета wedomiy
from pistoll import Ui_MainWindow2 # окно пистолеты
from p2020 import Ui_MainWindow3 # окно пистолета p2020
from RE import Ui_MainWindow4 # окно пистолета RE 
from pp import Ui_MainWindow5 # окно пистолеты пулемёты 
from SMG import Ui_MainWindow6 # окно Пп сменщик 
from ISH import Ui_MainWindow7 # окно Пп ищейка
from R99 import Ui_MainWindow8 # окно Пп R99
from VOLT import Ui_MainWindow9 # окно Пп R99

class Apexhelper(QtWidgets.QMainWindow, Ui_MainWindow):                          # + Ui_MainWindow
    def __init__(self, parent=None):
        super(Apexhelper, self).__init__(parent) 
        self.setupUi(self)

# class Test(QtWidgets.QMainWindow, Ui_Form):                          # + Ui_MainWindow
#     def __init__(self, parent=None):
#         super(Test, self).__init__()
#         self.setupUi(self)

class Wedomi(QtWidgets.QMainWindow, Ui_MainWindow1):                            # + Ui_MainWindow1
    def __init__(self):
        super(Wedomi, self).__init__()
        self.setupUi(self) 

class Weapon(QtWidgets.QMainWindow, Ui_other):                                  # + Ui_other
    def __init__(self):
        super(Weapon, self).__init__()     
        self.setupUi(self)

class pistoll (QtWidgets.QMainWindow, Ui_MainWindow2):
    def __init__(self):
        super(pistoll, self).__init__()
        self.setupUi(self)
      #  self.setStyleSheet(' .QWidget {background-image: url(5555.jpg);}')

class P2020 (QtWidgets.QMainWindow, Ui_MainWindow3):
    def __init__(self):
        super(P2020, self).__init__()
        self.setupUi(self)

class RE(QtWidgets.QMainWindow, Ui_MainWindow4):
    def __init__(self):
        super(RE, self).__init__()
        self.setupUi(self)

class PP(QtWidgets.QMainWindow, Ui_MainWindow5):
    def __init__(self):
        super(PP, self).__init__()
        self.setupUi(self)

class SMG(QtWidgets.QMainWindow, Ui_MainWindow6):
    def __init__(self):
        super(SMG, self).__init__()
        self.setupUi(self)

class ISH(QtWidgets.QMainWindow, Ui_MainWindow7):
    def __init__(self):
        super(ISH, self).__init__()
        self.setupUi(self)

class R99(QtWidgets.QMainWindow, Ui_MainWindow8):
    def __init__(self):
        super(R99, self).__init__()
        self.setupUi(self)

class VOLT(QtWidgets.QMainWindow, Ui_MainWindow9):
    def __init__(self):
        super(VOLT, self).__init__()
        self.setupUi(self)             


# Начало основного класса 
class MainWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()
      
        self.centralWidget = QWidget()
        self.setCentralWidget(self.centralWidget)      #создали центральный виджет  
        # Начало класса apexHelper
        self.apexHelper = Apexhelper(self) # экземпляр класса ApexHelper
        self.apexHelper.weapon.clicked.connect(self.gotoWeapon) 
        # конец класса apexHelper

        # self.test = Test() ------------------------------------------------------

        # Начало класса Weapon
        self.weapon = Weapon() # экземпляр класса Weapon
        self.weapon.back.clicked.connect(self.gotomain)
        self.weapon.pistol.clicked.connect(self.gotopistol)
        self.weapon.PistolP.clicked.connect(self.gotoPP)
        # конец класса Weapon

        # Начало класса pistoll
        self.pist = pistoll() #экземпляр класса pistoll
        self.pist.wedom.clicked.connect(self.gotowedomi) 
        self.pist.backk.clicked.connect(self.gotoWeapon)
        self.pist.p2020.clicked.connect(self.gotop2020)
        self.pist.re.clicked.connect(self.gotoRE)
        # конец класса pistoll

        # начало класса R99
        self.r99 = R99()
        self.r99.back11.clicked.connect(self.gotoPP)
        # конец класса R99

        # начало класса VOLT
        self.volt = VOLT()
        self.volt.back11.clicked.connect(self.gotoPP)
        # конец класса VOLT


        # начало класса SMG
        self.smg = SMG()
        self.smg.back11.clicked.connect(self.gotoPP)
        # конец класса SMG

        # начало класса ISH
        self.ish = ISH()
        self.ish.back11.clicked.connect(self.gotoPP)
        # конец класса ISH

        # Начало класса p2020
        self.p2020 = P2020()
        self.p2020.back1.clicked.connect(self.gotopistol)
        # конец класса p2020

        # Начало класса RE
        self.re = RE()
        self.re.back1.clicked.connect(self.gotopistol)
        # конец класса RE

        # Начало класса Пистолеты-полемёты
        self.pp = PP() #экземпляр класса PP
        self.pp.backkk.clicked.connect(self.gotoWeapon)
        self.pp.smen.clicked.connect(self.gotosmg)
        self.pp.ihek.clicked.connect(self.gotoish)
        self.pp.R99.clicked.connect(self.gotoR99)
        self.pp.volt.clicked.connect(self.gotovolt)
        # Конец класса Пистолеты-полемёты



        # Начало класса wedomi
        self.wedomi = Wedomi() # экземпляр класса Wedomi    
        self.wedomi.backtoweapon.clicked.connect(self.gotopistol)                          
        # Конец класса wedomi

        #Начало виджетов
        self.stack = QStackedWidget()      # QStackedWidget видно сразу несколько виджетов                                                  # !!!               
        self.stack.addWidget(self.apexHelper)
        self.stack.addWidget(self.weapon)    # 1   self.stack.setCurrentIndex(1)
        self.stack.addWidget(self.wedomi) # 2 self.stack.setCurrentIndex(2)
        self.stack.addWidget(self.pist) #3 self.stack.setCurrentIndex(3) - ломается
        self.stack.addWidget(self.p2020) #4 self.stack.setCurrentIndex(4)
        self.stack.addWidget(self.re) #5 self.stack.setCurrentIndex(5)
        self.stack.addWidget(self.pp) #6 self.stack.setCurrentIndex(6)
        self.stack.addWidget(self.smg) #7 self.stack.setCurrentIndex(7)
        self.stack.addWidget(self.ish)#8 self.stack.setCurrentIndex(8)
        self.stack.addWidget(self.r99)#9 self.stack.setCurrentIndex(9)
        self.stack.addWidget(self.volt)#10 self.stack.setCurrentIndex(10) 
        
        self.stack.setCurrentIndex(0)
        self.nameProgramm(self.stack.currentIndex())  
           


        hbox = QHBoxLayout(self.centralWidget)
        hbox.setContentsMargins(0, 0, 0, 0) #вроде можно без этого ????????????????????????????????????
        hbox.addWidget(self.stack)
    
    def nameProgramm(self, w=0):
        if w == 0:
            self.setWindowTitle('Apex Helper')
            self.setWindowIcon(QIcon('gg.jpg'))                         
        elif w == 1:   
            self.setWindowTitle('Weapon')
            self.setWindowIcon(QIcon('rtg.jpg'))                             
        elif w == 2:   
            self.setWindowTitle('Wedomi')
            self.setWindowIcon(QIcon('wedomiy.png'))       
        elif w == 3:   
            self.setWindowTitle('Pistol')
            self.setWindowIcon(QIcon('ty.jpg'))
        elif w == 4:   
            self.setWindowTitle('P2020')
            self.setWindowIcon(QIcon('p2020.png'))
        elif w == 5:   
            self.setWindowTitle('RE-45 Auto')
            self.setWindowIcon(QIcon('re.png'))
        elif w == 6:   
            self.setWindowTitle('Pistol-P')
            self.setWindowIcon(QIcon('fgh.png')) 
        elif w == 7:   
            self.setWindowTitle('SMG')
            self.setWindowIcon(QIcon('SMG.png'))
        elif w == 8:   
            self.setWindowTitle('ISH')
            self.setWindowIcon(QIcon('ish.png'))
        elif w == 9:   
            self.setWindowTitle('R99')
            self.setWindowIcon(QIcon('R99.png'))    
        elif w == 10:   
            self.setWindowTitle('VOLT')
            self.setWindowIcon(QIcon('Volt.png'))                                           

    def gotomain(self):
        self.stack.setCurrentIndex(0)
        self.nameProgramm(self.stack.currentIndex())

        self.resize(230, 625)
        
    def gotoWeapon(self):  
        self.stack.setCurrentIndex(1)
        self.nameProgramm(self.stack.currentIndex())

        #self.resize(435, 772)
        
    def gotowedomi(self):
        self.stack.setCurrentIndex(2)
        self.nameProgramm(self.stack.currentIndex())
    
    def gotopistol(self):
        self.stack.setCurrentIndex(3)
        self.nameProgramm(self.stack.currentIndex())
    
    def gotop2020(self):
        self.stack.setCurrentIndex(4)
        self.nameProgramm(self.stack.currentIndex())
    
    def gotoRE(self):
        self.stack.setCurrentIndex(5)
        self.nameProgramm(self.stack.currentIndex())

    def gotoPP(self):
        self.stack.setCurrentIndex(6)
        self.nameProgramm(self.stack.currentIndex())

    def gotosmg(self):
        self.stack.setCurrentIndex(7)
        self.nameProgramm(self.stack.currentIndex())

    def gotoish(self):
        self.stack.setCurrentIndex(8)
        self.nameProgramm(self.stack.currentIndex())

    def gotoR99(self):
        self.stack.setCurrentIndex(9)
        self.nameProgramm(self.stack.currentIndex())
    
    def gotovolt(self):
        self.stack.setCurrentIndex(10)
        self.nameProgramm(self.stack.currentIndex())

if __name__ == "__main__":     
    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()   
    w.setFixedSize(435, 625)                                      # --- ApexHelper(), +++ MainWindow
    w.show()            
    sys.exit(app.exec_())
python
  • 1 个回答
  • 10 Views
Martin Hope
Никита Пфейфер
Asked: 2022-07-09 19:34:54 +0000 UTC

是否有可能以某种方式锁定窗口的大小?

  • 1

这是命令

在这里,我被这样一个更改窗口的命令提示,但是是否有任何命令可以设置值并阻止调整此窗口的大小???

setfixedHeigth
setfixedWidth

不合适。



在此处输入图像描述

python
  • 1 个回答
  • 10 Views
Martin Hope
Никита Пфейфер
Asked: 2022-07-08 18:37:26 +0000 UTC

更改所选页面的窗口大小

  • 1

规模

在这里,当启动程序时,窗口大小是需要的,但是如果你运行主文件,结果是这样的:

尺寸错误

import sys
from PyQt5 import QtCore, QtGui, QtWidgets    
from PyQt5.QtGui import QIcon 
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import *

from PyQt5.QtCore import *
################################## Тут вызовы  ui файлов

from Apex import Ui_MainWindow # Основное окно начало
from weaponsUIrepeat import Ui_other # окно Оружия
from wedomiy import Ui_MainWindow1 # окно пистолета wedomiy
from pistoll import Ui_MainWindow2 # окно пистолеты
from p2020 import Ui_MainWindow3 # окно пистолета p2020
from RE import Ui_MainWindow4 # окно пистолета RE 
from pp import Ui_MainWindow5 # окно пистолеты пулемёты 
from SMG import Ui_MainWindow6 # окно Пп сменщик 
from ISH import Ui_MainWindow7 # окно Пп ищейка
from R99 import Ui_MainWindow8 # окно Пп R99
from VOLT import Ui_MainWindow9 # окно Пп R99

class Apexhelper(QtWidgets.QMainWindow, Ui_MainWindow):                          # + Ui_MainWindow
    def __init__(self, parent=None):
        super(Apexhelper, self).__init__(parent) 
        self.setupUi(self)


class Wedomi(QtWidgets.QMainWindow, Ui_MainWindow1):                            # + Ui_MainWindow1
    def __init__(self):
        super(Wedomi, self).__init__()
        self.setupUi(self) 

class Weapon(QtWidgets.QMainWindow, Ui_other):                                  # + Ui_other
    def __init__(self):
        super(Weapon, self).__init__()     
        self.setupUi(self)

class pistoll (QtWidgets.QMainWindow, Ui_MainWindow2):
    def __init__(self):
        super(pistoll, self).__init__()
        self.setupUi(self)

class P2020 (QtWidgets.QMainWindow, Ui_MainWindow3):
    def __init__(self):
        super(P2020, self).__init__()
        self.setupUi(self)

class RE(QtWidgets.QMainWindow, Ui_MainWindow4):
    def __init__(self):
        super(RE, self).__init__()
        self.setupUi(self)

class PP(QtWidgets.QMainWindow, Ui_MainWindow5):
    def __init__(self):
        super(PP, self).__init__()
        self.setupUi(self)

class SMG(QtWidgets.QMainWindow, Ui_MainWindow6):
    def __init__(self):
        super(SMG, self).__init__()
        self.setupUi(self)

class ISH(QtWidgets.QMainWindow, Ui_MainWindow7):
    def __init__(self):
        super(ISH, self).__init__()
        self.setupUi(self)

class R99(QtWidgets.QMainWindow, Ui_MainWindow8):
    def __init__(self):
        super(R99, self).__init__()
        self.setupUi(self)

class VOLT(QtWidgets.QMainWindow, Ui_MainWindow9):
    def __init__(self):
        super(VOLT, self).__init__()
        self.setupUi(self)             


# Начало основного класса 
class MainWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()
      
        self.centralWidget = QWidget()
        self.setCentralWidget(self.centralWidget)      #создали центральный виджет  
        # Начало класса apexHelper
        self.apexHelper = Apexhelper(self) # экземпляр класса ApexHelper
        self.apexHelper.weapon.clicked.connect(self.gotoWeapon) 
        # конец класса apexHelper

        # Начало класса Weapon
        self.weapon = Weapon() # экземпляр класса Weapon
        self.weapon.back.clicked.connect(self.gotomain)
        self.weapon.pistol.clicked.connect(self.gotopistol)
        self.weapon.PistolP.clicked.connect(self.gotoPP)
        # конец класса Weapon

        # Начало класса pistoll
        self.pist = pistoll() #экземпляр класса pistoll
        self.pist.wedom.clicked.connect(self.gotowedomi) 
        self.pist.backk.clicked.connect(self.gotoWeapon)
        self.pist.p2020.clicked.connect(self.gotop2020)
        self.pist.re.clicked.connect(self.gotoRE)
        # конец класса pistoll

        # начало класса R99
        self.r99 = R99()
        self.r99.back11.clicked.connect(self.gotoPP)
        # конец класса R99

        # начало класса VOLT
        self.volt = VOLT()
        self.volt.back11.clicked.connect(self.gotoPP)
        # конец класса VOLT


        # начало класса SMG
        self.smg = SMG()
        self.smg.back11.clicked.connect(self.gotoPP)
        # конец класса SMG

        # начало класса ISH
        self.ish = ISH()
        self.ish.back11.clicked.connect(self.gotoPP)
        # конец класса ISH

        # Начало класса p2020
        self.p2020 = P2020()
        self.p2020.back1.clicked.connect(self.gotopistol)
        # конец класса p2020

        # Начало класса RE
        self.re = RE()
        self.re.back1.clicked.connect(self.gotopistol)
        # конец класса RE

        # Начало класса Пистолеты-полемёты
        self.pp = PP() #экземпляр класса PP
        self.pp.backkk.clicked.connect(self.gotoWeapon)
        self.pp.smen.clicked.connect(self.gotosmg)
        self.pp.ihek.clicked.connect(self.gotoish)
        self.pp.R99.clicked.connect(self.gotoR99)
        self.pp.volt.clicked.connect(self.gotovolt)
        # Конец класса Пистолеты-полемёты



        # Начало класса wedomi
        self.wedomi = Wedomi() # экземпляр класса Wedomi    
        self.wedomi.backtoweapon.clicked.connect(self.gotopistol)                          
        # Конец класса wedomi

        #Начало виджетов
        self.stack = QStackedWidget()      # QStackedWidget видно сразу несколько виджетов                                                  # !!!               
        self.stack.addWidget(self.apexHelper)
        self.stack.addWidget(self.weapon)    # 1   self.stack.setCurrentIndex(1)
        self.stack.addWidget(self.wedomi) # 2 self.stack.setCurrentIndex(2)
        self.stack.addWidget(self.pist) #3 self.stack.setCurrentIndex(3)
        self.stack.addWidget(self.p2020) #4 self.stack.setCurrentIndex(4)
        self.stack.addWidget(self.re) #5 self.stack.setCurrentIndex(5)
        self.stack.addWidget(self.pp) #6 self.stack.setCurrentIndex(6)
        self.stack.addWidget(self.smg) #7 self.stack.setCurrentIndex(7)
        self.stack.addWidget(self.ish)#8 self.stack.setCurrentIndex(8)
        self.stack.addWidget(self.r99)#9 self.stack.setCurrentIndex(9)
        self.stack.addWidget(self.volt)#10 self.stack.setCurrentIndex(10) 
        self.stack.setCurrentIndex(0)
        self.nameProgramm(self.stack.currentIndex())  
           


        hbox = QHBoxLayout(self.centralWidget)
        hbox.setContentsMargins(0, 0, 0, 0) #вроде можно без этого ????????????????????????????????????
        hbox.addWidget(self.stack)
    
    def nameProgramm(self, w=0):
        if w == 0:
            self.setWindowTitle('Apex Helper')
            self.setWindowIcon(QIcon('gg.jpg'))                         
        elif w == 1:   
            self.setWindowTitle('Weapon')
            self.setWindowIcon(QIcon('rtg.jpg'))                             
        elif w == 2:   
            self.setWindowTitle('Wedomi')
            self.setWindowIcon(QIcon('wedomiy.png'))       
        elif w == 3:   
            self.setWindowTitle('Pistol')
            self.setWindowIcon(QIcon('ty.jpg'))
        elif w == 4:   
            self.setWindowTitle('P2020')
            self.setWindowIcon(QIcon('p2020.png'))
        elif w == 5:   
            self.setWindowTitle('RE-45 Auto')
            self.setWindowIcon(QIcon('re.png'))
        elif w == 6:   
            self.setWindowTitle('Pistol-P')
            self.setWindowIcon(QIcon('fgh.png')) 
        elif w == 7:   
            self.setWindowTitle('SMG')
            self.setWindowIcon(QIcon('SMG.png'))
        elif w == 8:   
            self.setWindowTitle('ISH')
            self.setWindowIcon(QIcon('ish.png'))
        elif w == 9:   
            self.setWindowTitle('R99')
            self.setWindowIcon(QIcon('R99.png'))    
        elif w == 10:   
            self.setWindowTitle('VOLT')
            self.setWindowIcon(QIcon('Volt.png'))                                           

    def gotomain(self):
        self.stack.setCurrentIndex(0)
        self.nameProgramm(self.stack.currentIndex())
        
    def gotoWeapon(self):  
        self.stack.setCurrentIndex(1)
        self.nameProgramm(self.stack.currentIndex())
        
    def gotowedomi(self):
        self.stack.setCurrentIndex(2)
        self.nameProgramm(self.stack.currentIndex())
    
    def gotopistol(self):
        self.stack.setCurrentIndex(3)
        self.nameProgramm(self.stack.currentIndex())
    
    def gotop2020(self):
        self.stack.setCurrentIndex(4)
        self.nameProgramm(self.stack.currentIndex())
    
    def gotoRE(self):
        self.stack.setCurrentIndex(5)
        self.nameProgramm(self.stack.currentIndex())

    def gotoPP(self):
        self.stack.setCurrentIndex(6)
        self.nameProgramm(self.stack.currentIndex())

    def gotosmg(self):
        self.stack.setCurrentIndex(7)
        self.nameProgramm(self.stack.currentIndex())

    def gotoish(self):
        self.stack.setCurrentIndex(8)
        self.nameProgramm(self.stack.currentIndex())

    def gotoR99(self):
        self.stack.setCurrentIndex(9)
        self.nameProgramm(self.stack.currentIndex())
    
    def gotovolt(self):
        self.stack.setCurrentIndex(10)
        self.nameProgramm(self.stack.currentIndex())

if __name__ == "__main__":     
    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()                                             # --- ApexHelper(), +++ MainWindow
    w.show()              
    sys.exit(app.exec_())


# Первое окно, на его размеры ссылается второе окно в скринах ниже

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(230, 652)
        MainWindow.setStyleSheet("background-color: #22222e")
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setStyleSheet("background-color: #000000")
        self.centralwidget.setObjectName("centralwidget")
        self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
        self.gridLayout.setObjectName("gridLayout")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout()
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        font = QtGui.QFont()
        font.setFamily("Arial Black")
        font.setPointSize(24)
        font.setBold(True)
        font.setWeight(75)
        self.label_2.setFont(font)
        self.label_2.setStyleSheet("background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0.607143 rgba(76, 76, 76, 255), stop:1 rgba(23, 23, 23, 255));\n"
"border: 2px solid #B8860B;\n"
"border-radius: 30;\n"
"color: black")
        self.label_2.setAlignment(QtCore.Qt.AlignCenter)
        self.label_2.setObjectName("label_2")
        self.horizontalLayout_5.addWidget(self.label_2)
        self.verticalLayout_4.addLayout(self.horizontalLayout_5)
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setText("")
        self.label.setPixmap(QtGui.QPixmap("gg.jpg"))
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName("label")
        self.verticalLayout_4.addWidget(self.label)
        self.weapon = QtWidgets.QPushButton(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.weapon.sizePolicy().hasHeightForWidth())
        self.weapon.setSizePolicy(sizePolicy)
        self.weapon.setMinimumSize(QtCore.QSize(50, 50))
        font = QtGui.QFont()
        font.setFamily("Arial Black")
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.weapon.setFont(font)
        self.weapon.setStyleSheet("QPushButton {\n"
"color: black;\n"
"background-color: #708090;\n"
"}")
        self.weapon.setObjectName("weapon")
        self.verticalLayout_4.addWidget(self.weapon)
        self.pushButton_14 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_14.setStyleSheet("QPushButton {\n"
"color: black;\n"
"background-color: #708090;\n"
"}")
        self.pushButton_14.setObjectName("pushButton_14")
        self.verticalLayout_4.addWidget(self.pushButton_14)
        self.pushButton_13 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_13.setStyleSheet("QPushButton {\n"
"color: black;\n"
"background-color: #708090;\n"
"}")
        self.pushButton_13.setObjectName("pushButton_13")
        self.verticalLayout_4.addWidget(self.pushButton_13)
        self.pushButton_12 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_12.setStyleSheet("QPushButton {\n"
"color: black;\n"
"background-color: #708090;\n"
"}")
        self.pushButton_12.setObjectName("pushButton_12")
        self.verticalLayout_4.addWidget(self.pushButton_12)
        self.pushButton_10 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_10.setStyleSheet("QPushButton {\n"
"color: black;\n"
"background-color: #708090;\n"
"}")
        self.pushButton_10.setObjectName("pushButton_10")
        self.verticalLayout_4.addWidget(self.pushButton_10)
        self.pushButton_11 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_11.setStyleSheet("QPushButton {\n"
"color: black;\n"
"background-color: #708090;\n"
"}")
        self.pushButton_11.setObjectName("pushButton_11")
        self.verticalLayout_4.addWidget(self.pushButton_11)
        self.pushButton_6 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_6.setStyleSheet("QPushButton {\n"
"color: black;\n"
"background-color: #708090;\n"
"}")
        self.pushButton_6.setObjectName("pushButton_6")
        self.verticalLayout_4.addWidget(self.pushButton_6)
        self.pushButton_8 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_8.setStyleSheet("QPushButton {\n"
"color: black;\n"
"background-color: #708090;\n"
"}")
        self.pushButton_8.setObjectName("pushButton_8")
        self.verticalLayout_4.addWidget(self.pushButton_8)
        self.pushButton_7 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_7.setStyleSheet("QPushButton {\n"
"color: black;\n"
"background-color: #708090;\n"
"}")
        self.pushButton_7.setObjectName("pushButton_7")
        self.verticalLayout_4.addWidget(self.pushButton_7)
        self.pushButton_5 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_5.setStyleSheet("QPushButton {\n"
"color: black;\n"
"background-color: #708090;\n"
"}")
        self.pushButton_5.setObjectName("pushButton_5")
        self.verticalLayout_4.addWidget(self.pushButton_5)
        self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_4.setStyleSheet("QPushButton {\n"
"color: black;\n"
"background-color: #708090;\n"
"}")
        self.pushButton_4.setObjectName("pushButton_4")
        self.verticalLayout_4.addWidget(self.pushButton_4)
        self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_3.setStyleSheet("QPushButton {\n"
"color: black;\n"
"background-color: #708090;\n"
"}")
        self.pushButton_3.setObjectName("pushButton_3")
        self.verticalLayout_4.addWidget(self.pushButton_3)
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setStyleSheet("QPushButton {\n"
"color: black;\n"
"background-color: #708090;\n"
"}")
        self.pushButton_2.setObjectName("pushButton_2")
        self.verticalLayout_4.addWidget(self.pushButton_2)
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setStyleSheet("QPushButton {\n"
"color: black;\n"
"background-color: #708090;\n"
"}")
        self.pushButton.setObjectName("pushButton")
        self.verticalLayout_4.addWidget(self.pushButton)
        self.gridLayout.addLayout(self.verticalLayout_4, 0, 0, 1, 1)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 230, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label_2.setText(_translate("MainWindow", "ApexHelper"))
        self.weapon.setText(_translate("MainWindow", "Оружия"))
        self.pushButton_14.setText(_translate("MainWindow", "PushButton"))
        self.pushButton_13.setText(_translate("MainWindow", "PushButton"))
        self.pushButton_12.setText(_translate("MainWindow", "PushButton"))
        self.pushButton_10.setText(_translate("MainWindow", "PushButton"))
        self.pushButton_11.setText(_translate("MainWindow", "PushButton"))
        self.pushButton_6.setText(_translate("MainWindow", "PushButton"))
        self.pushButton_8.setText(_translate("MainWindow", "PushButton"))
        self.pushButton_7.setText(_translate("MainWindow", "PushButton"))
        self.pushButton_5.setText(_translate("MainWindow", "PushButton"))
        self.pushButton_4.setText(_translate("MainWindow", "PushButton"))
        self.pushButton_3.setText(_translate("MainWindow", "PushButton"))
        self.pushButton_2.setText(_translate("MainWindow", "PushButton"))
        self.pushButton.setText(_translate("MainWindow", "PushButton"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())



# третий файл, который надо исправить 

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_other(object):
    def setupUi(self, other):
        other.setObjectName("other")
        other.resize(435, 572)
        other.setMinimumSize(QtCore.QSize(0, 0))
        font = QtGui.QFont()
        font.setFamily("Ravie")
        other.setFont(font)
        other.setStyleSheet("color: rgb(183, 96, 147);")
        self.centralwidget = QtWidgets.QWidget(other)
        self.centralwidget.setStyleSheet("background-color: #000000")
        self.centralwidget.setObjectName("centralwidget")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(-10, 0, 471, 241))
        self.label.setText("")
        self.label.setPixmap(QtGui.QPixmap("C:/Users/nikpf/OneDrive/Рабочий стол/apexx/hqdefault.jpg"))
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(100, 300, 241, 201))
        self.label_2.setText("")
        self.label_2.setPixmap(QtGui.QPixmap("C:/Users/nikpf/OneDrive/Рабочий стол/apexx/hqdefault (1).jpg"))
        self.label_2.setAlignment(QtCore.Qt.AlignCenter)
        self.label_2.setObjectName("label_2")
        self.back = QtWidgets.QPushButton(self.centralwidget)
        self.back.setGeometry(QtCore.QRect(180, 500, 81, 30))
        self.back.setMinimumSize(QtCore.QSize(30, 30))
        font = QtGui.QFont()
        font.setFamily("Copperplate Gothic Bold")
        font.setPointSize(10)
        self.back.setFont(font)
        self.back.setStyleSheet("QPushButton {\n"
"color: black;\n"
"background-color: #5c88cb;\n"
"border-radius: 10;\n"
"border: 3px solid #65032c;\n"
"}\n"
"QPushButton: pressed {\n"
"    background-color: #fa4244\n"
"}\n"
"")
        self.back.setObjectName("back")
        self.PistolP = QtWidgets.QPushButton(self.centralwidget)
        self.PistolP.setGeometry(QtCore.QRect(160, 271, 121, 31))
        self.PistolP.setMinimumSize(QtCore.QSize(30, 30))
        font = QtGui.QFont()
        font.setFamily("Copperplate Gothic Bold")
        font.setPointSize(7)
        self.PistolP.setFont(font)
        self.PistolP.setStyleSheet("QPushButton {\n"
"color: black;\n"
"background-color: #5c88cb;\n"
"border-radius: 10;\n"
"border: 3px solid #65032c;\n"
"}\n"
"QPushButton: pressed {\n"
"    background-color: #fa4244\n"
"}\n"
"")
        self.PistolP.setObjectName("PistolP")
        self.pistol = QtWidgets.QPushButton(self.centralwidget)
        self.pistol.setGeometry(QtCore.QRect(160, 240, 121, 30))
        self.pistol.setMinimumSize(QtCore.QSize(30, 30))
        font = QtGui.QFont()
        font.setFamily("Copperplate Gothic Bold")
        font.setPointSize(10)
        self.pistol.setFont(font)
        self.pistol.setStyleSheet("QPushButton {\n"
"color: rgb(0, 0, 0);\n"
"background-color: #5c88cb;\n"
"border-radius: 10;\n"
"border: 3px solid #65032c;\n"
"}\n"
"QPushButton: pressed {\n"
"    background-color: #fa4244\n"
"}\n"
"")
        self.pistol.setObjectName("pistol")
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(160, 360, 121, 71))
        font = QtGui.QFont()
        font.setFamily("Copperplate Gothic Bold")
        font.setPointSize(16)
        self.label_3.setFont(font)
        self.label_3.setStyleSheet("color: rgb(172, 85, 140);")
        self.label_3.setAlignment(QtCore.Qt.AlignCenter)
        self.label_3.setObjectName("label_3")
        other.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(other)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 435, 21))
        self.menubar.setObjectName("menubar")
        other.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(other)
        self.statusbar.setObjectName("statusbar")
        other.setStatusBar(self.statusbar)

        self.retranslateUi(other)
        QtCore.QMetaObject.connectSlotsByName(other)

    def retranslateUi(self, other):
        _translate = QtCore.QCoreApplication.translate
        other.setWindowTitle(_translate("other", "MainWindow"))
        self.back.setText(_translate("other", "Back"))
        self.PistolP.setText(_translate("other", "Submachine guns"))
        self.pistol.setText(_translate("other", "Pistol"))
        self.label_3.setText(_translate("other", "Weapons"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    other = QtWidgets.QMainWindow()
    ui = Ui_other()
    ui.setupUi(other)
    other.show()
    sys.exit(app.exec_())

![breaks on this] ( https://isstatic.askoverflow.dev/aj77d.jpg ) 注释掉的breaks,第二个窗口和所有后续窗口,禁止更改初始窗口的大小

python
  • 1 个回答
  • 10 Views
Martin Hope
Никита Пфейфер
Asked: 2022-03-13 02:09:45 +0000 UTC

如何在 PyQt 中更改窗口标题

  • 1

命名程序类

该功能Nameprogram已停止运行,无法更改窗口名称及其图标。

主文件

    import sys
    from PyQt5 import QtCore, QtGui, QtWidgets    
    from PyQt5.QtGui import QIcon 
    from PyQt5.uic import loadUi
    from PyQt5.QtWidgets import *
    from PyQt5.QtCore import *
    ################################## Тут вызовы  ui файлов

    from Apex import Ui_MainWindow
    from weaponsUI import Ui_other
    from wedomiy import Ui_MainWindow1

    ###############################
    class ApexHelper(QtWidgets.QMainWindow):
    def __init__(self):
            super(ApexHelper, self).__init__() 
            self.Apex = Ui_MainWindow()
            self.Apex.setupUi(self)
            self.NameProgramm()
            
            self.Apex.weapon.clicked.connect(self.gotoWeapon)# Кнопка чтобы переходить на другое окно
            ################ Теперь плавное изменение окна
            
    def NameProgramm(self):
            self.setWindowTitle('Apex Helper')
            self.setWindowIcon(QIcon('gg.jpg'))
    

    def gotoWeapon(self):
            application1=Weapon()
            widget.addWidget(application1) # даёт возможность перейти на 2 слайд
            widget.setCurrentIndex(widget.currentIndex()+1)
            
    #### Начало класса описания оружия
    class Weapon(QtWidgets.QMainWindow):
    def __init__(self):
            super(Weapon, self).__init__()
            self.weaponsUI = Ui_other()
            self.weaponsUI.setupUi(self)
            self.weaponsUI.back.clicked.connect(self.gotomain)
            self.weaponsUI.wedom.clicked.connect(self.gotowedomi)

    def gotomain(self):
            #application = ApexHelper()
            widget.addWidget(application) #ДОБАВИЛ ВИДЖЕТ ТУТ И НИЖЕ - даёт возможность перейти на 1 слайд
            widget.setCurrentIndex(widget.currentIndex()+1)

    def gotowedomi(self): #направить на класс описания пушки wedomi
            application2 = wedomi() # экземпляр класса ведомый 
            widget.addWidget(application2)
            widget.setCurrentIndex(widget.currentIndex()+1)


    #####Начало класса описание Wedomiy

    class wedomi(QtWidgets.QMainWindow):
    def __init__(self):
            super(wedomi, self).__init__()
            self.wedomiy = Ui_MainWindow1()
            self.wedomiy.setupUi(self)
            

    #create app   
    app = QtWidgets.QApplication(sys.argv)
    application = ApexHelper() #apexhelper - начальный класс мать всего
    #application.resize(550, 246)
    application.show() # работает без него




    ##########################################################################

    widget = QtWidgets.QStackedWidget() #добавление виджетов
    widget.addWidget(application) #добавить индекс в экземпляр application класса ApexHelper !!!!!!И ТУТ ДОБАВИЛ!!! Тут изначально показывает программу её мэин
    #widget.addWidget(application1) #добавить индекс в экземпляр application1 класса screen2


    widget.show() #показывает все виджеты 


    #main loop
    sys.exit(app.exec())

Apex.py

    from PyQt5 import QtCore, QtGui, QtWidgets


    class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
            MainWindow.setObjectName("MainWindow")
            MainWindow.resize(230, 651)
            MainWindow.setStyleSheet("background-color: #22222e")
            self.centralwidget = QtWidgets.QWidget(MainWindow)
            self.centralwidget.setStyleSheet("background-color: #000000")
            self.centralwidget.setObjectName("centralwidget")
            self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
            self.gridLayout.setObjectName("gridLayout")
            self.verticalLayout_4 = QtWidgets.QVBoxLayout()
            self.verticalLayout_4.setObjectName("verticalLayout_4")
            self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
            self.horizontalLayout_5.setObjectName("horizontalLayout_5")
            self.label_2 = QtWidgets.QLabel(self.centralwidget)
            font = QtGui.QFont()
            font.setFamily("Arial Black")
            font.setPointSize(24)
            font.setBold(True)
            font.setWeight(75)
            self.label_2.setFont(font)
            self.label_2.setStyleSheet("background-color: #000000;\n"
    "border: 2px solid #B8860B;\n"
    "border-radius: 30;\n"
    "color: white")
            self.label_2.setAlignment(QtCore.Qt.AlignCenter)
            self.label_2.setObjectName("label_2")
            self.horizontalLayout_5.addWidget(self.label_2)
            self.verticalLayout_4.addLayout(self.horizontalLayout_5)
            self.label = QtWidgets.QLabel(self.centralwidget)
            self.label.setText("")
            self.label.setPixmap(QtGui.QPixmap("gg.jpg"))
            self.label.setAlignment(QtCore.Qt.AlignCenter)
            self.label.setObjectName("label")
            self.verticalLayout_4.addWidget(self.label)
            self.weapon = QtWidgets.QPushButton(self.centralwidget)
            sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
            sizePolicy.setHorizontalStretch(0)
            sizePolicy.setVerticalStretch(0)
            sizePolicy.setHeightForWidth(self.weapon.sizePolicy().hasHeightForWidth())
            self.weapon.setSizePolicy(sizePolicy)
            self.weapon.setMinimumSize(QtCore.QSize(50, 50))
            font = QtGui.QFont()
            font.setFamily("Arial Black")
            font.setPointSize(12)
            font.setBold(True)
            font.setWeight(75)
            self.weapon.setFont(font)
            self.weapon.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.weapon.setObjectName("weapon")
            self.verticalLayout_4.addWidget(self.weapon)
            self.pushButton_14 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_14.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_14.setObjectName("pushButton_14")
            self.verticalLayout_4.addWidget(self.pushButton_14)
            self.pushButton_13 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_13.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_13.setObjectName("pushButton_13")
            self.verticalLayout_4.addWidget(self.pushButton_13)
            self.pushButton_12 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_12.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_12.setObjectName("pushButton_12")
            self.verticalLayout_4.addWidget(self.pushButton_12)
            self.pushButton_10 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_10.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_10.setObjectName("pushButton_10")
            self.verticalLayout_4.addWidget(self.pushButton_10)
            self.pushButton_11 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_11.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_11.setObjectName("pushButton_11")
            self.verticalLayout_4.addWidget(self.pushButton_11)
            self.pushButton_6 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_6.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_6.setObjectName("pushButton_6")
            self.verticalLayout_4.addWidget(self.pushButton_6)
            self.pushButton_8 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_8.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_8.setObjectName("pushButton_8")
            self.verticalLayout_4.addWidget(self.pushButton_8)
            self.pushButton_7 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_7.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_7.setObjectName("pushButton_7")
            self.verticalLayout_4.addWidget(self.pushButton_7)
            self.pushButton_5 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_5.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_5.setObjectName("pushButton_5")
            self.verticalLayout_4.addWidget(self.pushButton_5)
            self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_4.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_4.setObjectName("pushButton_4")
            self.verticalLayout_4.addWidget(self.pushButton_4)
            self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_3.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_3.setObjectName("pushButton_3")
            self.verticalLayout_4.addWidget(self.pushButton_3)
            self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_2.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_2.setObjectName("pushButton_2")
            self.verticalLayout_4.addWidget(self.pushButton_2)
            self.pushButton = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton.setObjectName("pushButton")
            self.verticalLayout_4.addWidget(self.pushButton)
            self.gridLayout.addLayout(self.verticalLayout_4, 0, 0, 1, 1)
            MainWindow.setCentralWidget(self.centralwidget)
            self.menubar = QtWidgets.QMenuBar(MainWindow)
            self.menubar.setGeometry(QtCore.QRect(0, 0, 230, 21))
            self.menubar.setObjectName("menubar")
            MainWindow.setMenuBar(self.menubar)
            self.statusbar = QtWidgets.QStatusBar(MainWindow)
            self.statusbar.setObjectName("statusbar")
            MainWindow.setStatusBar(self.statusbar)

            self.retranslateUi(MainWindow)
            QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
            _translate = QtCore.QCoreApplication.translate
            MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
            self.label_2.setText(_translate("MainWindow", "ApexHelper"))
            self.weapon.setText(_translate("MainWindow", "Weapon"))
            self.pushButton_14.setText(_translate("MainWindow", "PushButton"))
            self.pushButton_13.setText(_translate("MainWindow", "PushButton"))
            self.pushButton_12.setText(_translate("MainWindow", "PushButton"))
            self.pushButton_10.setText(_translate("MainWindow", "PushButton"))
            self.pushButton_11.setText(_translate("MainWindow", "PushButton"))
            self.pushButton_6.setText(_translate("MainWindow", "PushButton"))
            self.pushButton_8.setText(_translate("MainWindow", "PushButton"))
            self.pushButton_7.setText(_translate("MainWindow", "PushButton"))
            self.pushButton_5.setText(_translate("MainWindow", "PushButton"))
            self.pushButton_4.setText(_translate("MainWindow", "PushButton"))
            self.pushButton_3.setText(_translate("MainWindow", "PushButton"))
            self.pushButton_2.setText(_translate("MainWindow", "PushButton"))
            self.pushButton.setText(_translate("MainWindow", "PushButton"))


    if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

武器UI.py

    from PyQt5 import QtCore, QtGui, QtWidgets


    class Ui_other(object):
    def setupUi(self, other):
            other.setObjectName("other")
            other.resize(610, 683)
            other.setMinimumSize(QtCore.QSize(0, 0))
            other.setStyleSheet("background-color: #22222e")
            self.centralwidget = QtWidgets.QWidget(other)
            self.centralwidget.setStyleSheet("background-color: #000000")
            self.centralwidget.setObjectName("centralwidget")
            self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
            self.gridLayout.setObjectName("gridLayout")
            self.verticalLayout = QtWidgets.QVBoxLayout()
            self.verticalLayout.setObjectName("verticalLayout")
            self.label = QtWidgets.QLabel(self.centralwidget)
            self.label.setText("")
            self.label.setPixmap(QtGui.QPixmap("hqdefault.jpg"))
            self.label.setAlignment(QtCore.Qt.AlignCenter)
            self.label.setObjectName("label")
            self.verticalLayout.addWidget(self.label)
            self.wedom = QtWidgets.QPushButton(self.centralwidget)
            self.wedom.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.wedom.setObjectName("wedom")
            self.verticalLayout.addWidget(self.wedom)
            self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_4.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_4.setObjectName("pushButton_4")
            self.verticalLayout.addWidget(self.pushButton_4)
            self.pushButton_7 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_7.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_7.setObjectName("pushButton_7")
            self.verticalLayout.addWidget(self.pushButton_7)
            self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_3.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_3.setObjectName("pushButton_3")
            self.verticalLayout.addWidget(self.pushButton_3)
            self.pushButton_5 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_5.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_5.setObjectName("pushButton_5")
            self.verticalLayout.addWidget(self.pushButton_5)
            self.pushButton_6 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_6.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.pushButton_6.setObjectName("pushButton_6")
            self.verticalLayout.addWidget(self.pushButton_6)
            self.back = QtWidgets.QPushButton(self.centralwidget)
            self.back.setStyleSheet("QPushButton {\n"
    "color: white;\n"
    "background-color: #800000;\n"
    "}")
            self.back.setObjectName("back")
            self.verticalLayout.addWidget(self.back)
            self.gridLayout.addLayout(self.verticalLayout, 10, 1, 1, 1)
            self.horizontalLayout = QtWidgets.QHBoxLayout()
            self.horizontalLayout.setObjectName("horizontalLayout")
            self.label_2 = QtWidgets.QLabel(self.centralwidget)
            font = QtGui.QFont()
            font.setFamily("Arial Black")
            font.setPointSize(24)
            font.setBold(True)
            font.setWeight(75)
            self.label_2.setFont(font)
            self.label_2.setStyleSheet("background-color: #000000;\n"
    "border: 2px solid #B8860B;\n"
    "border-radius: 30;\n"
    "color: white")
            self.label_2.setAlignment(QtCore.Qt.AlignCenter)
            self.label_2.setObjectName("label_2")
            self.horizontalLayout.addWidget(self.label_2)
            self.gridLayout.addLayout(self.horizontalLayout, 0, 1, 2, 1)
            other.setCentralWidget(self.centralwidget)
            self.menubar = QtWidgets.QMenuBar(other)
            self.menubar.setGeometry(QtCore.QRect(0, 0, 610, 21))
            self.menubar.setObjectName("menubar")
            other.setMenuBar(self.menubar)
            self.statusbar = QtWidgets.QStatusBar(other)
            self.statusbar.setObjectName("statusbar")
            other.setStatusBar(self.statusbar)

            self.retranslateUi(other)
            QtCore.QMetaObject.connectSlotsByName(other)

    def retranslateUi(self, other):
            _translate = QtCore.QCoreApplication.translate
            other.setWindowTitle(_translate("other", "MainWindow"))
            self.wedom.setText(_translate("other", "Ведомый(Wigman)"))
            self.pushButton_4.setText(_translate("other", "Re-45 Auto"))
            self.pushButton_7.setText(_translate("other", "p2020"))
            self.pushButton_3.setText(_translate("other", "Ищейка (Prowler Burst PDW)"))
            self.pushButton_5.setText(_translate("other", "Сменщик (Alternator SMG)"))
            self.pushButton_6.setText(_translate("other", "R-99"))
            self.back.setText(_translate("other", "Назад"))
            self.label_2.setText(_translate("other", "Оружие"))


    if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    other = QtWidgets.QMainWindow()
    ui = Ui_other()
    ui.setupUi(other)
    other.show()
    sys.exit(app.exec_())

wedomy.py

    from PyQt5 import QtCore, QtGui, QtWidgets
    from PyQt5.QtGui import QIcon 


    class Ui_MainWindow1(object):
    def setupUi(self, MainWindow):
            MainWindow.setObjectName("MainWindow")
            MainWindow.resize(494, 691)
            self.centralwidget = QtWidgets.QWidget(MainWindow)
            self.centralwidget.setStyleSheet("background-color: #000000")
            self.centralwidget.setObjectName("centralwidget")
            self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.centralwidget)
            self.horizontalLayout_3.setObjectName("horizontalLayout_3")
            self.verticalLayout = QtWidgets.QVBoxLayout()
            self.verticalLayout.setObjectName("verticalLayout")
            self.label = QtWidgets.QLabel(self.centralwidget)
            self.label.setText("")
            self.label.setPixmap(QtGui.QPixmap("wedomiy.png"))
            self.label.setAlignment(QtCore.Qt.AlignCenter)
            self.label.setObjectName("label")
            self.verticalLayout.addWidget(self.label)
            self.opisanieWed = QtWidgets.QLabel(self.centralwidget)
            self.opisanieWed.setStyleSheet("background-color: #708090;\n"
    "color: black")
            self.opisanieWed.setText('')
            self.opisanieWed.setObjectName("opisanieWed")
            self.verticalLayout.addWidget(self.opisanieWed)
            self.horizontalLayout_3.addLayout(self.verticalLayout)
            MainWindow.setCentralWidget(self.centralwidget)
            self.menubar = QtWidgets.QMenuBar(MainWindow)
            self.menubar.setGeometry(QtCore.QRect(0, 0, 494, 21))
            self.menubar.setObjectName("menubar")
            MainWindow.setMenuBar(self.menubar)
            self.statusbar = QtWidgets.QStatusBar(MainWindow)
            self.statusbar.setStyleSheet("")
            self.statusbar.setObjectName("statusbar")
            MainWindow.setStatusBar(self.statusbar)

            self.retranslateUi(MainWindow)
            QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
            _translate = QtCore.QCoreApplication.translate
            MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
            

    if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow1()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

这是源代码,出于某种原因,Python 写在窗口的标题中,尽管它应该写ApexHelper在所有窗口上

错误

python
  • 1 个回答
  • 10 Views
Martin Hope
Никита Пфейфер
Asked: 2022-03-05 04:06:40 +0000 UTC

如何在 PyQt5 中使分辨率动态化

  • 1

程序代码

我写了基础,但分辨率不是动态的。__init__(类中的第一个构造函数ApexHelper)

如何使分辨率动态化?

import sys
from PyQt5 import QtCore, QtGui, QtWidgets    
from Apex import Ui_MainWindow
from PyQt5.QtGui import QIcon 
from PyQt5.uic import loadUi
from Apex1 import Ui_other
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *


class ApexHelper(QtWidgets.QMainWindow):
    def __init__(self):
        super(ApexHelper, self).__init__() 
 
        self.Apex = Ui_MainWindow()
        self.Apex.setupUi(self)
        self.NameProgramm()
        self.Apex.pushButton.clicked.connect(self.gotoWeapon)# Кнопка 
        чтобы переходить на другое окно
        ################ Теперь плавное изменение окна

    def NameProgramm(self):
        self.setWindowTitle('Apex Helper')
        self.setWindowIcon(QIcon('ff.jpg'))

    def gotoWeapon(self):
        application1=Weapon()
        widget.addWidget(application1) # даёт возможность перейти на 2 
        слайд
        widget.setCurrentIndex(widget.currentIndex()+1)
class Weapon(QtWidgets.QMainWindow):
    def __init__(self):
        super(Weapon, self).__init__()
        self.Apex1 = Ui_other()
        self.Apex1.setupUi(self)
        self.Apex1.pushButton.clicked.connect(self.gotomain)

    def gotomain(self):
        #application = ApexHelper()
        widget.addWidget(application) #ДОБАВИЛ ВИДЖЕТ ТУТ И НИЖЕ
        widget.setCurrentIndex(widget.currentIndex()+1)
    

#create app   
app = QtWidgets.QApplication(sys.argv)
application = ApexHelper()
#application.resize(550, 246)
#application.show() # работает без него


##########################################################################

widget = QtWidgets.QStackedWidget() #добавление виджетов
widget.addWidget(application) #добавить индекс в экземпляр application 
класса ApexHelper !!!!!!И ТУТ ДОБАВИЛ!!!
#widget.addWidget(application1) #добавить индекс в экземпляр application1 
класса screen2
#widget.setFixedHeight(600)
#widget.setFixedWidth(470)
widget.show() #показать виджеты
#main loop
sys.exit(app.exec())

Apex.py

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(471, 614)
        MainWindow.setStyleSheet("background-color: #22222e")
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setStyleSheet("background-color: #000000")
        self.centralwidget.setObjectName("centralwidget")
        self.frame = QtWidgets.QFrame(self.centralwidget)
        self.frame.setGeometry(QtCore.QRect(110, 0, 361, 101))
        self.frame.setStyleSheet("background-color: #8B0000;\n"
"border-radius: 30;\n"
"border: 2px solid #708090\n"
"")
        self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame.setObjectName("frame")
        self.label_2 = QtWidgets.QLabel(self.frame)
        self.label_2.setGeometry(QtCore.QRect(70, 30, 191, 31))
        font = QtGui.QFont()
        font.setFamily("Arial Black")
        font.setPointSize(18)
        font.setBold(True)
        font.setWeight(75)
        self.label_2.setFont(font)
        self.label_2.setObjectName("label_2")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(0, 0, 101, 91))
        self.label.setText("")
        self.label.setPixmap(QtGui.QPixmap("ff.jpg"))
        self.label.setObjectName("label")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(190, 170, 75, 21))
        self.pushButton.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #808080;\n"
"}")
        self.pushButton.setObjectName("pushButton")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 471, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label_2.setText(_translate("MainWindow", "ApexLegends"))
        self.pushButton.setText(_translate("MainWindow", "PushButton"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

Apex1.py

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_other(object):
    def setupUi(self, other):
        other.setObjectName("other")
        other.resize(524, 612)
        self.centralwidget = QtWidgets.QWidget(other)
        self.centralwidget.setObjectName("centralwidget")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(140, 110, 261, 301))
        font = QtGui.QFont()
        font.setPointSize(36)
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(160, 350, 75, 23))
        self.pushButton.setObjectName("pushButton")
        other.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(other)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 524, 21))
        self.menubar.setObjectName("menubar")
        other.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(other)
        self.statusbar.setObjectName("statusbar")
        other.setStatusBar(self.statusbar)

        self.retranslateUi(other)
        QtCore.QMetaObject.connectSlotsByName(other)

    def retranslateUi(self, other):
        _translate = QtCore.QCoreApplication.translate
        other.setWindowTitle(_translate("other", "MainWindow"))
        self.label.setText(_translate("other", "ЭТО ГГ!"))
        self.pushButton.setText(_translate("other", "ОБратно"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    other = QtWidgets.QMainWindow()
    ui = Ui_other()
    ui.setupUi(other)
    other.show()
    sys.exit(app.exec_())

名称程序函数

python
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5