You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

713 lines
20 KiB

8 months ago
<?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>1190</width>
<height>923</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>16</pointsize>
</font>
</property>
<property name="windowTitle">
<string>计算思维24点</string>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<widget class="QWidget" name="centralwidget">
<property name="styleSheet">
<string notr="true"/>
</property>
<layout class="QVBoxLayout" name="verticalLayout" stretch="3,0,5">
<item>
<widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<widget class="QWidget" name="horizontalLayoutWidget">
<property name="geometry">
<rect>
<x>40</x>
<y>10</y>
<width>651</width>
<height>222</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="p4">
<property name="minimumSize">
<size>
<width>148</width>
<height>220</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>148</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="p3">
<property name="minimumSize">
<size>
<width>148</width>
<height>220</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>148</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="p2">
<property name="minimumSize">
<size>
<width>148</width>
<height>220</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>148</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="p1">
<property name="minimumSize">
<size>
<width>148</width>
<height>220</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>148</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QLineEdit" name="lineEdit">
<property name="geometry">
<rect>
<x>40</x>
<y>230</y>
<width>821</width>
<height>31</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="label_result">
<property name="geometry">
<rect>
<x>880</x>
<y>230</y>
<width>141</width>
<height>31</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">background-color:rgb(74, 203, 105)</string>
</property>
<property name="text">
<string> = </string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
<widget class="QLabel" name="label_TF">
<property name="geometry">
<rect>
<x>1030</x>
<y>230</y>
<width>31</width>
<height>31</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">background-color:rgb(219, 205, 166)</string>
</property>
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>1080</x>
<y>220</y>
<width>81</width>
<height>51</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>16</pointsize>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>计算</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_q">
<property name="geometry">
<rect>
<x>950</x>
<y>50</y>
<width>151</width>
<height>51</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>16</pointsize>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>出题</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_ex">
<property name="geometry">
<rect>
<x>950</x>
<y>130</y>
<width>151</width>
<height>51</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>16</pointsize>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>换牌</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_autosv">
<property name="geometry">
<rect>
<x>40</x>
<y>270</y>
<width>141</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>16</pointsize>
<bold>true</bold>
</font>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;自动根据牌面计算一个24点的表达式并且画出语法树。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="whatsThis">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
8 months ago
<property name="text">
<string>自动求解</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_dtree">
<property name="geometry">
<rect>
<x>200</x>
<y>270</y>
<width>141</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>16</pointsize>
<bold>true</bold>
</font>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;根据表达式画出对应的语法树。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
8 months ago
<property name="text">
<string>画树</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_allan">
<property name="geometry">
<rect>
<x>360</x>
<y>270</y>
<width>141</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>16</pointsize>
<bold>true</bold>
</font>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;可以多次点击切换所有符合要求的表达式,并同步画出语法树。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
8 months ago
<property name="text">
<string>所有答案</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_exp">
<property name="geometry">
<rect>
<x>520</x>
<y>270</y>
<width>141</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>16</pointsize>
<bold>true</bold>
</font>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;从语法树生成表达式。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
8 months ago
<property name="text">
<string>生成表达式</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_ast">
<property name="geometry">
<rect>
<x>690</x>
<y>270</y>
<width>141</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>16</pointsize>
<bold>true</bold>
</font>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;从表达式生成语法树。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
8 months ago
<property name="text">
<string>生成语法树</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_9">
<property name="geometry">
<rect>
<x>860</x>
<y>270</y>
<width>141</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>16</pointsize>
<bold>true</bold>
</font>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;检查表达式和语法树是否等效。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
8 months ago
<property name="text">
<string>一致性检查</string>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>760</x>
<y>170</y>
<width>101</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>已选牌面</string>
</property>
</widget>
<widget class="QPushButton" name="p1_selected">
<property name="geometry">
<rect>
<x>750</x>
<y>20</y>
<width>100</width>
<height>150</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>100</width>
<height>150</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>150</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</widget>
</item>
<item>
<widget class="Line" name="line">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_2">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<widget class="QGraphicsView" name="graphicsView">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1000</width>
<height>541</height>
</rect>
</property>
</widget>
<widget class="QPushButton" name="pushButton_add">
<property name="geometry">
<rect>
<x>1040</x>
<y>120</y>
<width>41</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>24</pointsize>
<bold>false</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>+</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_sub">
<property name="geometry">
<rect>
<x>1090</x>
<y>120</y>
<width>41</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>24</pointsize>
<bold>false</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>-</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_div">
<property name="geometry">
<rect>
<x>1090</x>
<y>170</y>
<width>41</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>24</pointsize>
<bold>false</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>/</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_mul">
<property name="geometry">
<rect>
<x>1040</x>
<y>170</y>
<width>41</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>24</pointsize>
<bold>false</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>*</string>
</property>
</widget>
<widget class="QPushButton" name="add_ops_node">
<property name="geometry">
<rect>
<x>1020</x>
<y>220</y>
<width>141</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>14</pointsize>
<bold>false</bold>
</font>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;在左侧语法树区域选择两个叶子节点后,选择好要添加的运算符后,可以添加运算符并组成新的语法树。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
8 months ago
<property name="text">
<string>添加运算节点</string>
</property>
</widget>
<widget class="QPushButton" name="add_val_node">
<property name="geometry">
<rect>
<x>1020</x>
<y>270</y>
<width>141</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>14</pointsize>
<bold>false</bold>
</font>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;根据已选牌面的值,向左侧区域添加一个数值节点。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
8 months ago
<property name="text">
<string>添加数值节点</string>
</property>
</widget>
<widget class="QPushButton" name="ex_node_value">
<property name="geometry">
<rect>
<x>1020</x>
<y>320</y>
<width>141</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>14</pointsize>
<bold>false</bold>
</font>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;修改数值节点的值,将语法树中选中的数值节点的值修改为已选牌面的值。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
8 months ago
<property name="text">
<string>改变运算输入</string>
</property>
</widget>
<widget class="QPushButton" name="ex_node_ops">
<property name="geometry">
<rect>
<x>1020</x>
<y>370</y>
<width>141</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>14</pointsize>
<bold>false</bold>
</font>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;根据已选运算符,修改已选语法树中运算符节点的值。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
8 months ago
<property name="text">
<string>改变节点运算</string>
</property>
</widget>
<widget class="QPushButton" name="ex_node_self">
<property name="geometry">
<rect>
<x>1020</x>
<y>420</y>
<width>141</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>14</pointsize>
<bold>false</bold>
</font>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;交换语法树中两个已选的数值节点。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
8 months ago
<property name="text">
<string>数值节点交换</string>
</property>
</widget>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>1030</x>
<y>70</y>
<width>121</width>
<height>41</height>
</rect>
</property>
<property name="text">
<string>已选运算符</string>
</property>
</widget>
<widget class="QLabel" name="lb_ops_selected">
<property name="geometry">
<rect>
<x>1060</x>
<y>10</y>
<width>53</width>
<height>51</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>18</pointsize>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color:rgb(255, 255, 255)</string>
</property>
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
<widget class="QPushButton" name="clear_button">
<property name="geometry">
<rect>
<x>1020</x>
<y>470</y>
<width>141</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>14</pointsize>
<bold>false</bold>
</font>
</property>
<property name="text">
<string>清空画布</string>
</property>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1190</width>
<height>33</height>
8 months ago
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>