Results 1 to 3 of 3

Thread: cannot call constructor 'Qstring::Qstring' directly

  1. #1
    Join Date
    Apr 2014
    Posts
    2
    Qt products
    Qt5
    Platforms
    Windows

    Default cannot call constructor 'Qstring::Qstring' directly

    Here is my code, I am trying to construct a table but nothing so far, I have read and tried everything but can't find a solution yet, if somebody knows what is going on, please help !
    the lines in bold are the problem

    Qt Code:
    1. void MainWindow::print2Box(){
    2.  
    3. QHash<QString, QLineEdit*> hash_entries;
    4.  
    5. hash_entries["00"] = ui->lineEdit_1;
    6. hash_entries["10"] = ui->lineEdit_2;
    7. hash_entries["20"] = ui->lineEdit_3;
    8. hash_entries["30"] = ui->lineEdit_10;
    9. hash_entries["40"] = ui->lineEdit_11;
    10. hash_entries["50"] = ui->lineEdit_12;
    11. hash_entries["60"] = ui->lineEdit_19;
    12. hash_entries["70"] = ui->lineEdit_20;
    13. hash_entries["80"] = ui->lineEdit_21;
    14.  
    15. hash_entries["01"] = ui->lineEdit_4;
    16. hash_entries["11"] = ui->lineEdit_5;
    17. hash_entries["21"] = ui->lineEdit_6;
    18. hash_entries["31"] = ui->lineEdit_13;
    19. hash_entries["41"] = ui->lineEdit_14;
    20. hash_entries["51"] = ui->lineEdit_15;
    21. hash_entries["61"] = ui->lineEdit_22;
    22. hash_entries["71"] = ui->lineEdit_23;
    23. hash_entries["81"] = ui->lineEdit_24;
    24.  
    25. hash_entries["02"] = ui->lineEdit_7;
    26. hash_entries["12"] = ui->lineEdit_8;
    27. hash_entries["22"] = ui->lineEdit_9;
    28. hash_entries["32"] = ui->lineEdit_16;
    29. hash_entries["42"] = ui->lineEdit_17;
    30. hash_entries["52"] = ui->lineEdit_18;
    31. hash_entries["62"] = ui->lineEdit_25;
    32. hash_entries["72"] = ui->lineEdit_26;
    33. hash_entries["82"] = ui->lineEdit_27;
    34.  
    35. hash_entries["03"] = ui->lineEdit_28;
    36. hash_entries["13"] = ui->lineEdit_29;
    37. hash_entries["23"] = ui->lineEdit_30;
    38. hash_entries["33"] = ui->lineEdit_37;
    39. hash_entries["43"] = ui->lineEdit_38;
    40. hash_entries["53"] = ui->lineEdit_39;
    41. hash_entries["63"] = ui->lineEdit_46;
    42. hash_entries["73"] = ui->lineEdit_47;
    43. hash_entries["83"] = ui->lineEdit_48;
    44.  
    45. hash_entries["04"] = ui->lineEdit_31;
    46. hash_entries["14"] = ui->lineEdit_32;
    47. hash_entries["24"] = ui->lineEdit_33;
    48. hash_entries["34"] = ui->lineEdit_40;
    49. hash_entries["44"] = ui->lineEdit_41;
    50. hash_entries["54"] = ui->lineEdit_42;
    51. hash_entries["64"] = ui->lineEdit_49;
    52. hash_entries["74"] = ui->lineEdit_50;
    53. hash_entries["84"] = ui->lineEdit_51;
    54.  
    55. hash_entries["05"] = ui->lineEdit_34;
    56. hash_entries["15"] = ui->lineEdit_35;
    57. hash_entries["25"] = ui->lineEdit_36;
    58. hash_entries["35"] = ui->lineEdit_43;
    59. hash_entries["45"] = ui->lineEdit_44;
    60. hash_entries["55"] = ui->lineEdit_45;
    61. hash_entries["65"] = ui->lineEdit_52;
    62. hash_entries["75"] = ui->lineEdit_53;
    63. hash_entries["85"] = ui->lineEdit_54;
    64.  
    65. hash_entries["06"] = ui->lineEdit_55;
    66. hash_entries["16"] = ui->lineEdit_56;
    67. hash_entries["26"] = ui->lineEdit_57;
    68. hash_entries["36"] = ui->lineEdit_64;
    69. hash_entries["46"] = ui->lineEdit_65;
    70. hash_entries["56"] = ui->lineEdit_66;
    71. hash_entries["66"] = ui->lineEdit_73;
    72. hash_entries["76"] = ui->lineEdit_74;
    73. hash_entries["86"] = ui->lineEdit_75;
    74.  
    75. hash_entries["07"] = ui->lineEdit_58;
    76. hash_entries["17"] = ui->lineEdit_59;
    77. hash_entries["27"] = ui->lineEdit_60;
    78. hash_entries["37"] = ui->lineEdit_67;
    79. hash_entries["47"] = ui->lineEdit_68;
    80. hash_entries["57"] = ui->lineEdit_69;
    81. hash_entries["67"] = ui->lineEdit_76;
    82. hash_entries["77"] = ui->lineEdit_77;
    83. hash_entries["87"] = ui->lineEdit_78;
    84.  
    85. hash_entries["08"] = ui->lineEdit_61;
    86. hash_entries["18"] = ui->lineEdit_62;
    87. hash_entries["28"] = ui->lineEdit_63;
    88. hash_entries["38"] = ui->lineEdit_70;
    89. hash_entries["48"] = ui->lineEdit_71;
    90. hash_entries["58"] = ui->lineEdit_72;
    91. hash_entries["68"] = ui->lineEdit_79;
    92. hash_entries["78"] = ui->lineEdit_80;
    93. hash_entries["88"] = ui->lineEdit_81;
    94.  
    95. for(int y_cord = 0; y_cord < 9; y_cord++){
    96. for(int x_cord=0; x_cord < 9; x_cord++){
    97. if(box[x_cord][y_cord] == 0){
    98. hash_entries[QString::QString("%1%2").arg(x_cord).arg(y_cord)]->setText("");
    99. hash_entries[QString::QString("%1%2").arg(x_cord).arg(y_cord)]->setDisabled(0);
    100.  
    101. }
    102. else{
    103. hash_entries[QString::QString("%1%2").arg(x_cord).arg(y_cord)]->setText(QString::number(box[x_cord][y_cord]));
    104. if(disablebox[x_cord][y_cord] == 1){
    105. hash_entries[QString::QString("%1%2").arg(x_cord).arg(y_cord)]->setDisabled(1);
    106. }
    107. }
    108. }
    109.  
    110. }
    111.  
    112. }
    To copy to clipboard, switch view to plain text mode 
    Last edited by anda_skoa; 7th April 2014 at 09:38. Reason: missing [code] tags

  2. #2
    Join Date
    Sep 2011
    Location
    Bangalore
    Posts
    254
    Thanks
    92
    Thanked 16 Times in 16 Posts
    Qt products
    Qt4 Qt5
    Platforms
    Windows

    Default Re: cannot call constructor 'Qstring::Qstring' directly

    Please embed your code between [CODE ] [/ CODE] tags

    As I see, your syntax is wrong.
    You have to invoke the constructor of QString as
    Qt Code:
    1. QString("%1%2").arg(x_cord).arg(y_cord)
    To copy to clipboard, switch view to plain text mode 
    And you can't setText() to QHash item.

  3. #3
    Join Date
    Jan 2006
    Location
    Graz, Austria
    Posts
    8,416
    Thanks
    37
    Thanked 1,544 Times in 1,494 Posts
    Qt products
    Qt3 Qt4 Qt5
    Platforms
    Unix/X11 Windows

    Default Re: cannot call constructor 'Qstring::Qstring' directly

    Quote Originally Posted by rawfool View Post
    And you can't setText() to QHash item.
    The hash contains QLineEdit pointers so that is ok.

    Cheers,
    _

Similar Threads

  1. Pass QString array to constructor
    By Ozzy in forum Qt Programming
    Replies: 1
    Last Post: 4th February 2014, 20:36
  2. Replies: 2
    Last Post: 11th August 2011, 15:42
  3. Replies: 4
    Last Post: 25th September 2010, 12:58
  4. call function as Qstring
    By jcr in forum Qt Programming
    Replies: 1
    Last Post: 30th May 2009, 01:35
  5. Replies: 4
    Last Post: 31st January 2008, 20:44

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
  •  
Qt is a trademark of The Qt Company.