第一个像样的桌面程序

Posted miaoz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一个像样的桌面程序相关的知识,希望对你有一定的参考价值。

qt学了半个月了,终于搞懂了基本的东西。

1 写ui界面,终于不是黑白的命令行了。

2 qt的信号槽机制以及qstring等与char,int,double的转化。

3 qt程序的打包发布。

看一下源码

  1 #include "mainwindow.h"
  2 #include "ui_mainwindow.h"
  3 #include<QString>
  4 
  5 
  6 char *q;
  7 int k=0;
  8 
  9 
 10 
 11 double biaodas();
 12 double xiang();
 13 double yinz()//求一个因子的值
 14 {
 15     double res = 0;
 16     char tem = q[k];
 17     if (tem == \'(\')//因子可能是一个括号包起来的表达式,递归到求表达式
 18     {
 19         k++;
 20         res = biaodas();
 21         k++;
 22     }
 23     else//计算出多个十进制数字符连续组成的数的大小
 24     {
 25         while (isdigit(tem))//判断tem是不是十进制的字符
 26         {
 27             res = res * 10 + tem - \'0\';
 28             k++;
 29             tem = q[k];
 30         }
 31         if (tem == \'.\')//判断有没有小数
 32         {
 33             double k1 = 10;
 34             k++;
 35             tem=q[k];
 36             while (isdigit(tem))
 37             {
 38                 res += (tem-\'0\') / k1;
 39                 k1 *= 10;
 40                 k++;
 41                 tem = q[k];
 42             }
 43         }
 44     }
 45     return res;
 46 }
 47 double xiang()//求一个多项式的值
 48 {
 49     double res = yinz();
 50     int flag = 1;
 51     while (flag)
 52     {
 53         char tem = q[k];
 54         if (tem == \'*\' || tem == \'/\')//判断乘除把多项式的求解分解为求多个因子的值
 55         {
 56            k++;
 57             double va = yinz();
 58             if (tem == \'*\')
 59                 res *= va;
 60             else
 61                 res /= va;
 62         }
 63         else flag = 0;
 64     }
 65     return res;
 66 }
 67 double biaodas()//求表达式的值
 68 {
 69     double res = xiang();
 70     int flag = 1;
 71     while (flag)
 72     {
 73         char tem = q[k];
 74         if (tem == \'+\' || tem == \'-\')//判断乘除把表达式的求解分解为求多多项式的值
 75         {
 76             k++;
 77             double va = xiang();
 78             if (tem == \'+\')
 79                 res += va;
 80             else
 81                 res -= va;
 82         }
 83         else flag = 0;
 84     }
 85     return res;
 86 }
 87 
 88 
 89 
 90 
 91 
 92 
 93 
 94 
 95 
 96 
 97 
 98 
 99 
100 
101 
102 
103 MainWindow::MainWindow(QWidget *parent) :
104     QMainWindow(parent),
105     ui(new Ui::MainWindow)
106 {
107     ui->setupUi(this);
108 }
109 QString str;
110 int i=0;
111 
112 MainWindow::~MainWindow()
113 {
114     delete ui;
115 }
116 
117 void MainWindow::on_pushButton_clicked()
118 {
119     char *p=str.toLatin1().data();
120     if(i==0)
121     {
122         str+=\'1\';
123         i++;
124     }
125     else
126     {
127         if(p[i-1]==\')\');
128         else
129         {
130             str+=\'1\';
131             i++;
132         }
133     }
134     ui->textBrowser->setText(str);
135 }
136 
137 void MainWindow::on_pushButton_2_clicked()
138 {
139     char *p=str.toLatin1().data();
140     if(i==0)
141     {
142         str+=\'2\';
143         i++;
144     }
145     else
146     {
147         if(p[i-1]==\')\');
148         else
149         {
150             str+=\'2\';
151             i++;
152         }
153     }
154     ui->textBrowser->setText(str);
155 }
156 
157 void MainWindow::on_pushButton_3_clicked()
158 {
159     char *p=str.toLatin1().data();
160     if(i==0)
161     {
162         str+=\'3\';
163         i++;
164     }
165     else
166     {
167         if(p[i-1]==\')\');
168         else
169         {
170             str+=\'3\';
171             i++;
172         }
173     }
174     ui->textBrowser->setText(str);
175 }
176 
177 void MainWindow::on_pushButton_4_clicked()
178 {
179     char *p=str.toLatin1().data();
180     if(i==0)
181     {
182         str+=\'4\';
183         i++;
184     }
185     else
186     {
187         if(p[i-1]==\')\');
188         else
189         {
190             str+=\'4\';
191             i++;
192         }
193     }
194     ui->textBrowser->setText(str);
195 }
196 
197 void MainWindow::on_pushButton_5_clicked()
198 {
199     char *p=str.toLatin1().data();
200     if(i==0)
201     {
202         str+=\'5\';
203         i++;
204     }
205     else
206     {
207         if(p[i-1]==\')\');
208         else
209         {
210             str+=\'5\';
211             i++;
212         }
213     }
214     ui->textBrowser->setText(str);
215 }
216 
217 void MainWindow::on_pushButton_6_clicked()
218 {
219     char *p=str.toLatin1().data();
220     if(i==0)
221     {
222         str+=\'6\';
223         i++;
224     }
225     else
226     {
227         if(p[i-1]==\')\');
228         else
229         {
230             str+=\'6\';
231             i++;
232         }
233     }
234     ui->textBrowser->setText(str);
235 }
236 
237 void MainWindow::on_pushButton_7_clicked()
238 {
239     char *p=str.toLatin1().data();
240     if(i==0)
241     {
242         str+=\'7\';
243         i++;
244     }
245     else
246     {
247         if(p[i-1]==\')\');
248         else
249         {
250             str+=\'7\';
251             i++;
252         }
253     }
254     ui->textBrowser->setText(str);
255 }
256 
257 void MainWindow::on_pushButton_8_clicked()
258 {
259     char *p=str.toLatin1().data();
260     if(i==0)
261     {
262         str+=\'8\';
263         i++;
264     }
265     else
266     {
267         if(p[i-1]==\')\');
268         else
269         {
270             str+=\'8\';
271             i++;
272         }
273     }
274     ui->textBrowser->setText(str);
275 }
276 
277 void MainWindow::on_pushButton_9_clicked()
278 {
279     char *p=str.toLatin1().data();
280     if(i==0)
281     {
282         str+=\'9\';
283         i++;
284     }
285     else
286     {
287         if(p[i-1]==\')\');
288         else
289         {
290             str+=\'9\';
291             i++;
292         }
293     }
294     ui->textBrowser->setText(str);
295 }
296 
297 void MainWindow::on_pushButton_10_clicked()
298 {
299     char *p=str.toLatin1().data();
300     if(i==0)
301     {
302         str+=\'.\';
303         i++;
304     }
305     else
306     {
307         if(p[i-1]==\'+\'||p[i-1]==\'-\'||p[i-1]==\'*\'||p[i-1]==\'/\'||p[i-1]==\'(\'||p[i]==\')\');
308         else
309         {
310             str+=\'.\';
311             i++;
312         }
313     }
314     ui->textBrowser->setText(str);
315 }
316 
317 void MainWindow::on_pushButton_11_clicked()
318 {
319     char *p=str.toLatin1().data();
320     if(i==0)
321     {
322         str+=\'0\';
323         i++;
324     }
325     else
326     {
327         if(p[i]==\')\');
328         else
329         {
330             str+=\'0\';
331             i++;
332         }
333     }
334     ui->textBrowser->setText(str);
335 }
336 
337 void MainWindow::on_pushButton_12_clicked()
338 {
339     char *p=str.toLatin1().data();
340     if(i==0);
341     else
342     {
343         if(p[i-1]==\'+\'||p[i-1]==\'-\'||p[i-1]==\'*\'||p[i-1]==\'/\'||p[i-1]==\'.\'||p[i]==\'(\');
344         else
345         {
346             str+=\'+\';
347             i++;
348         }
349     }
350     ui->textBrowser->setText(str);
351 }
352 
353 void MainWindow::on_pushButton_13_clicked()
354 {
355     char *p=str.toLatin1().data();
356     if(i==0);
357     else
358     {
359         if(p[i-1]==\'+\'||p[i-1]==\'-\'||p[i-1]==\'*\'||p[i-1]==\'/\'||p[i-1]==\'.\'||p[i]==\'(\');
360         else
361         {
362             str+=\'-\';
363             i++;
364         }
365     }
366     ui->textBrowser->setText(str);
367 }
368 
369 void MainWindow::on_pushButton_14_clicked()
370 {
371     char *p=str.toLatin1().data();
372     if(i==0);
373     else
374     {
375         if(p[i-1]==\'+\'||p[i-1]==\'-\'||p[i-1]==\'*\'||p[i-1]==\'/\'||p[i-1]==\'.\'||p[i]==\'(\');
376         else
377         {
378             str+=\'*\';
379             i++;
380         }
381     }
382     ui->textBrowser->setText(str);
383 }
384 
385 void MainWindow::on_pushButton_15_clicked()
386 {
387     char *p=str.toLatin1().data();
388     if(i==0);
389     else
390     {
391         if(p[i-1]==\'+\'||p[i-1]==\'-\'||p[i-1]==\'*\'||p[i-1]==\'/\'||p[i-1]==\'.\'||p[i]==\'(\');
392         else
393         {
394             str+=\'/\';
395             i++;
396         }
397     }
398     ui->textBrowser->setText(str);
399 }
400 
401 void MainWindow::on_pushButton_16_clicked()
402 {
403     char *p=str.toLatin1().data();
404     if(i==0)
405     {
406         str+=\'(\';
407         i++;
408     }
409     else
410     {
411         if(p[i-1]==\'+\'||p[i-1]==\'-\'||p[i-1]==\'*\'||p[i-译文:18个实用的JavaScript代码片段,助你快速处理日常编程任务

有没有像样的 .NET MVC 框架来构建丰富的 AJAX 应用程序?

更改片段内布局的按钮

自动刷新android片段,直到满足条件

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

首先有啥好的算法可以捕捉到像样的图像?之后是预处理/图像清洁,最后是 OCR 程序?