Results 1 to 2 of 2

Thread: QT Android application suddenly crashes

  1. #1
    Join Date
    May 2015
    Posts
    12
    Thanks
    1
    Qt products
    Qt5
    Platforms
    Unix/X11 Windows Android

    Default QT Android application suddenly crashes

    Hi,
    I'm developing an android app which calculates and dispalys the time of other time zones. Suddenly it begun to chrash everytime when I select the time zone via a Radio Button.
    And it doesn't calculates with the time anymore.

    The source code of the main windows(called weltzeit in my project):

    Qt Code:
    1. #include "weltzeit.h"
    2. #include "ui_weltzeit.h"
    3. #include <QTime>
    4. #include <QDebug>
    5.  
    6. WeltZeit::WeltZeit(QWidget *parent) :
    7. QMainWindow(parent),
    8. ui(new Ui::WeltZeit)
    9. {
    10. ui->setupUi(this);
    11. }
    12.  
    13. WeltZeit::~WeltZeit()
    14. {
    15. delete ui;
    16. }
    17.  
    18. int DST = 0;
    19.  
    20. QTime ct = QTime::currentTime();
    21.  
    22.  
    23. void WeltZeit::on_DSTBox_clicked()
    24. {
    25. DST = 1;
    26. }
    27.  
    28.  
    29. void WeltZeit::on_BerlinButton_clicked()
    30. {
    31. ui->CTtimeEdit->setTime(ct);
    32. ui->DEtimeEdit->setTime(ct);
    33. QTime eng = ct.addSecs(-3600);
    34. ui->ENtimeEdit->setTime(eng);
    35. if (DST == 1)
    36. {
    37. QTime jp = ct.addSecs(25200);
    38. ui->JPtimeEdit->setTime(jp);
    39. }
    40. else
    41. {
    42. QTime jp = ct.addSecs(28800);
    43. ui->JPtimeEdit->setTime(jp);
    44. }
    45. QTime ny = ct.addSecs(-21600);
    46. ui->NytimeEdit->setTime(ny);
    47. }
    48.  
    49.  
    50.  
    51. void WeltZeit::on_LondonButton_clicked()
    52. {
    53. // QString ctTime = ct.toString("HH:mm:ss");
    54. ui->CTtimeEdit->setTime(ct);
    55. ui->ENtimeEdit->setTime(ct);
    56. QTime de = ct.addSecs(3600);
    57. ui->DEtimeEdit->setTime(de);
    58. if (DST == 1)
    59. {
    60. QTime jp = ct.addSecs(28800);
    61. ui->JPtimeEdit->setTime(jp);
    62. }
    63. else
    64. {
    65. QTime jp = ct.addSecs(32400);
    66. ui->JPtimeEdit->setTime(jp);
    67. }
    68. QTime ny = ct.addSecs(-25200);
    69. ui->NytimeEdit->setTime(ny);
    70.  
    71. }
    72.  
    73.  
    74.  
    75.  
    76. void WeltZeit::on_uhrzeitBtn_clicked()
    77. {
    78. QTime ct = QTime::currentTime();
    79. // QString ctTime = ct.toString("HH:mm:ss");
    80. ui->CTtimeEdit->setTime(ct);
    81. }
    82.  
    83.  
    84.  
    85. void WeltZeit::on_JapanButton_clicked()
    86. {
    87. ui->CTtimeEdit->setTime(ct);
    88. ui->JPtimeEdit->setTime(ct);
    89. if (DST ==1) {
    90. QTime de = ct.addSecs(-28800);
    91. ui->DEtimeEdit->setTime(de);
    92. QTime en = ct.addSecs(-25200);
    93. ui->ENtimeEdit->setTime(en);
    94. QTime ny = ct.addSecs(-50400);
    95. ui->NytimeEdit->setTime(ny);
    96. }
    97. else
    98. {
    99. QTime de = ct.addSecs(-25200);
    100. ui->DEtimeEdit->setTime(de);
    101. QTime en = ct.addSecs(-28800);
    102. ui->ENtimeEdit->setTime(en);
    103. QTime ny = ct.addSecs(-54000);
    104. ui->NytimeEdit->setTime(ny);
    105. }
    106. }
    107.  
    108.  
    109.  
    110. void WeltZeit::on_NewYorkButton_clicked()
    111. {
    112. ui->CTtimeEdit->setTime(ct);
    113. ui->NytimeEdit->setTime(ct);
    114. QTime de = ct.addSecs(21600);
    115. ui->DEtimeEdit->setTime(de);
    116. QTime en = ct.addSecs(25200);
    117. ui->ENtimeEdit->setTime(en);
    118. if (DST == 1)
    119. {
    120. QTime jp = ct.addSecs(46800);
    121. ui->JPtimeEdit->setTime(jp);
    122. }
    123. else
    124. {
    125. QTime jp = ct.addSecs(50400);
    126. ui->JPtimeEdit->setTime(jp);
    127. }
    128. }
    129.  
    130.  
    131. void WeltZeit::on_ENtimeEdit_timeChanged(const QTime &time)
    132. {
    133. QTime deTime = ui->ENtimeEdit->time().addSecs(3600); //adds an hour
    134. ui->DEtimeEdit->setTime(deTime);
    135. QTime nyTime = ui->ENtimeEdit->time().addSecs(-18000);
    136. ui->NytimeEdit->setTime(nyTime);
    137. if (DST == 1)
    138. {
    139. QTime jpTime = ui->ENtimeEdit->time().addSecs(28800);
    140. ui->NytimeEdit->setTime(jpTime);
    141. }
    142. else
    143. {
    144. QTime jpTime = ui->ENtimeEdit->time().addSecs(32400);
    145. ui->NytimeEdit->setTime(jpTime);
    146. }
    147.  
    148. }
    149.  
    150.  
    151. void WeltZeit::on_DEtimeEdit_timeChanged(const QTime &time)
    152. {
    153. QTime enTime = ui->DEtimeEdit->time().addSecs(-3600); //adds an hour
    154. ui->ENtimeEdit->setTime(enTime);
    155. QTime nyTime = ui->DEtimeEdit->time().addSecs(-21600);
    156. ui->NytimeEdit->setTime(nyTime);
    157. if (DST == 1)
    158. {
    159. QTime jpTime = ui->DEtimeEdit->time().addSecs(25200);
    160. ui->JPtimeEdit->setTime(jpTime);
    161. }
    162. else
    163. {
    164. QTime jpTime = ui->DEtimeEdit->time().addSecs(28800);
    165. ui->JPtimeEdit->setTime(jpTime);
    166. }
    167. }
    168.  
    169. void WeltZeit::on_JPtimeEdit_timeChanged(const QTime &time)
    170. {
    171. if (DST == 1)
    172. {
    173. QTime enTime = ui->JPtimeEdit->time().addSecs(-28800);
    174. ui->ENtimeEdit->setTime(enTime);
    175. QTime deTime = ui->JPtimeEdit->time().addSecs(-25200);
    176. ui->DEtimeEdit->setTime(deTime);
    177. QTime nyTime = ui->JPtimeEdit->time().addSecs(-46800);
    178. ui->NytimeEdit->setTime(nyTime);
    179. }
    180. else
    181. {
    182. QTime enTime = ui->JPtimeEdit->time().addSecs(-32400);
    183. ui->ENtimeEdit->setTime(enTime);
    184. QTime deTime = ui->JPtimeEdit->time().addSecs(-28800);
    185. ui->DEtimeEdit->setTime(deTime);
    186. QTime nyTime = ui->JPtimeEdit->time().addSecs(-50400);
    187. ui->NytimeEdit->setTime(nyTime);
    188. }
    189. }
    190.  
    191. void WeltZeit::on_NytimeEdit_timeChanged(const QTime &time)
    192. {
    193. QTime enTime = ui->NytimeEdit->time().addSecs(18000); //adds an hour
    194. ui->ENtimeEdit->setTime(enTime);
    195. QTime deTime = ui->NytimeEdit->time().addSecs(21600);
    196. ui->DEtimeEdit->setTime(deTime);
    197. if (DST == 1)
    198. {
    199. QTime jpTime = ui->NytimeEdit->time().addSecs(46800);
    200. ui->JPtimeEdit->setTime(jpTime);
    201. }
    202. else
    203. {
    204. QTime jpTime = ui->NytimeEdit->time().addSecs(50400);
    205. ui->JPtimeEdit->setTime(jpTime);
    206. }
    207. }
    To copy to clipboard, switch view to plain text mode 

    The form(when it worked):

    Unbenannt.jpg


    The form(before it crashes):
    Unbenannt2.jpg

    At the end of output of the application(in qt creator) I get the message:
    Fatal signal 11 (SIGSEGV) at 0xaab6beac (code=2), thread 1415 (xample.WeltZeit)
    Last edited by Reiji; 2nd June 2015 at 13:20.

  2. #2
    Join Date
    May 2015
    Posts
    12
    Thanks
    1
    Qt products
    Qt5
    Platforms
    Unix/X11 Windows Android

    Lightbulb Re: QT Android application suddenly crashes

    I found my problem.The problem was that I put a slot(changedTime) at any QTimeEdit element. I already change the time by selecting the time zone with the radio button.
    So after I slected my time zone every time of every QTimeEdit elements are changed. And after that all the functions of every changedTime-Slot tries to change the time of each other QTimeEdit elemts until the application doesn't respond anymore.

    Now I have to find a slot which just responds if i clicked a key(for example: enter-key).

Similar Threads

  1. QT application crashes.
    By coding_neo in forum Qt Programming
    Replies: 3
    Last Post: 24th October 2011, 13:30
  2. If GPS is unavailable, application crashes!!!
    By wizarda in forum Qt Programming
    Replies: 5
    Last Post: 16th May 2011, 10:58
  3. Application crashes when it has a particular name
    By hunsrus in forum Qt Programming
    Replies: 2
    Last Post: 27th January 2010, 20:50
  4. Application crashes
    By waynew in forum Newbie
    Replies: 1
    Last Post: 2nd November 2009, 10:31
  5. My application crashes
    By sophister in forum Qt Programming
    Replies: 13
    Last Post: 27th April 2009, 07:39

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.