User Tag List

Ցույց են տրվում 1 համարից մինչև 14 համարի արդյունքները՝ ընդհանուր 14 հատից

Թեմա: C++ և GUI

  1. #1
    ^ ^ Արամ-ի ավատար
    Գրանցման ամսաթիվ
    29.10.2006
    Հասցե
    Երևան
    Գրառումներ
    4,981
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    C++ և GUI

    Տարբեր ֆորումներում կարդացի, որ GUI ստեղծելու համար Qt են օգտագործում, որը MFC-ից լավն է...այդքան էլ գլուխ չեմ հանում էս բնագավառում, հիմա խնդիրը նայեք ինչումն ա, ծրագրի հաշվարկող մասը գրել եմ C++-ով, բայց ինձ GUI-ի է պետք, ինչ օպտիմալ տարբերակներ կան, ու եթե հնարավոր է էդ տարբերակների հետ էլ գրքեր էլ ասեք, որ սովորեմ:

  2. #2
    Բարի ճանապարհ One_Way_Ticket-ի ավատար
    Գրանցման ամսաթիվ
    19.03.2009
    Հասցե
    Ուղևորի ծոցագրպան
    Տարիք
    38
    Գրառումներ
    3,574
    Բլոգի գրառումներ
    32
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    Qt-ի գլխավոր առավելությունը նրանում է, որ ինքը կրոսսպլատֆորմ է: Եթե քեզ մենակ Windows-ի տակ է պետք, կարող ես MFC օգտագործել:

  3. #3
    ^ ^ Արամ-ի ավատար
    Գրանցման ամսաթիվ
    29.10.2006
    Հասցե
    Երևան
    Գրառումներ
    4,981
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում One_Way_Ticket-ի խոսքերից Նայել գրառումը
    Qt-ի գլխավոր առավելությունը նրանում է, որ ինքը կրոսսպլատֆորմ է: Եթե քեզ մենակ Windows-ի տակ է պետք, կարող ես MFC օգտագործել:
    Ինձ մենակ Windows-ի համար է պետք, որ խնդրեմ մի քիչ մանրամասն կբացատրես, թե ինչ խնդիրների առաջ կկանգնեմ մֆս-ի անցնելուց, կոդի հետ, մեկ էլ եթե հնարավոր է լավ գիրք մֆս-ի:

  4. #4
    Բարի ճանապարհ One_Way_Ticket-ի ավատար
    Գրանցման ամսաթիվ
    19.03.2009
    Հասցե
    Ուղևորի ծոցագրպան
    Տարիք
    38
    Գրառումներ
    3,574
    Բլոգի գրառումներ
    32
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    Ճիշտն ասած` ես 10 տարի առաջ եմ MFC-ով ծրագրավորել: Չեմ կարող հիմա որևէ գիրք խորհուրդ տալ:

    ինչ խնդիրների առաջ կկանգնեմ մֆս-ի անցնելուց, կոդի հետ
    Ոչ մի խնդիր: MFC-ն նույնպես C++ով է գրված, այսինքն GUI-ի կոդից հանգիստ կկանչես արդեն գրածդ հաշվարկային կոդը:

  5. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    Արամ (19.08.2013)

  6. #5
    ^ ^ Արամ-ի ավատար
    Գրանցման ամսաթիվ
    29.10.2006
    Հասցե
    Երևան
    Գրառումներ
    4,981
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում One_Way_Ticket-ի խոսքերից Նայել գրառումը
    Ճիշտն ասած` ես 10 տարի առաջ եմ MFC-ով ծրագրավորել: Չեմ կարող հիմա որևէ գիրք խորհուրդ տալ:


    Ոչ մի խնդիր: MFC-ն նույնպես C++ով է գրված, այսինքն GUI-ի կոդից հանգիստ կկանչես արդեն գրածդ հաշվարկային կոդը:
    Շնորհակալ եմ, ընթացքում որ հարցեր լինի հուսով եմ կօգնեք

  7. #6
    ^ ^ Արամ-ի ավատար
    Գրանցման ամսաթիվ
    29.10.2006
    Հասցե
    Երևան
    Գրառումներ
    4,981
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Արամ-ի խոսքերից Նայել գրառումը
    Շնորհակալ եմ, ընթացքում որ հարցեր լինի հուսով եմ կօգնեք
    Նորմալ գիրք չգտա, մի քիչ սկզբի համար հարցեր տամ source code-րից օգնեք էլի:
    Կոդ:
    BOOL CMyApp::InitInstance() // стандартная инициализация
    {
    	m_pMainWnd=new CMainWnd();	// создать класс окна
    	ASSERT(m_pMainWnd);	// проверить его правильность
    	m_pMainWnd->ShowWindow(SW_SHOW);// Показать окно
    	m_pMainWnd->UpdateWindow();	// Обновить окно
    	return TRUE;		// Вернуть что все нормально
    };
    ASSERT(m_pMainWnd), m_pMainWnd->UpdateWindow(); Էս երկու տողերի իմաստը կբացատրեք:

  8. #7
    Բարի ճանապարհ One_Way_Ticket-ի ավատար
    Գրանցման ամսաթիվ
    19.03.2009
    Հասցե
    Ուղևորի ծոցագրպան
    Տարիք
    38
    Գրառումներ
    3,574
    Բլոգի գրառումներ
    32
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Արամ-ի խոսքերից Նայել գրառումը
    ASSERT(m_pMainWnd)
    Assert է անում, որ p_MainWnd-ն NULL չէ: Եթե չգիտես assert-ը ինչ է, ասա, կբացատրեմ:

    Մեջբերում Արամ-ի խոսքերից Նայել գրառումը
    m_pMainWnd->UpdateWindow();
    Պատուհանի վրա երբ ինչ-որ նկարչություն ես անում, Windows-ը ամեն անգամ մի պիքսելի արժեք փոխվելուց այն ավտոմատ չի թարմացնի էկրանի վրա: Այս ֆունկցիան հրամայում է թարմացնել:

  9. #8
    Բարի ճանապարհ One_Way_Ticket-ի ավատար
    Գրանցման ամսաթիվ
    19.03.2009
    Հասցե
    Ուղևորի ծոցագրպան
    Տարիք
    38
    Գրառումներ
    3,574
    Բլոգի գրառումներ
    32
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում One_Way_Ticket-ի խոսքերից Նայել գրառումը
    Պատուհանի վրա երբ ինչ-որ նկարչություն ես անում, Windows-ը ամեն անգամ մի պիքսելի արժեք փոխվելուց այն ավտոմատ չի թարմացնի էկրանի վրա: Այս ֆունկցիան հրամայում է թարմացնել:
    Ճիշտ չասացի: Արդեն ահագին մոռացել եմ MFC-ն Ցավոք սրտի, երկու բառով սա բացատրել չի լինի, ես էլ արդեն հոգնած եմ, վաղը մանրամասն կգրեմ:

  10. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    Արամ (19.08.2013)

  11. #9
    ^ ^ Արամ-ի ավատար
    Գրանցման ամսաթիվ
    29.10.2006
    Հասցե
    Երևան
    Գրառումներ
    4,981
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Assert է անում, որ p_MainWnd-ն NULL չէ: Եթե չգիտես assert-ը ինչ է, ասա, կբացատրեմ:
    Չէ չգիտեմ, եթե դժվար չի

  12. #10
    Բարի ճանապարհ One_Way_Ticket-ի ավատար
    Գրանցման ամսաթիվ
    19.03.2009
    Հասցե
    Ուղևորի ծոցագրպան
    Տարիք
    38
    Գրառումներ
    3,574
    Բլոգի գրառումներ
    32
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում One_Way_Ticket-ի խոսքերից Նայել գրառումը
    Ճիշտ չասացի: Արդեն ահագին մոռացել եմ MFC-ն Ցավոք սրտի, երկու բառով սա բացատրել չի լինի, ես էլ արդեն հոգնած եմ, վաղը մանրամասն կգրեմ:
    Ուրեմն այսպես: Windows-ում կամայական պատուհան պիտի պատրաստ լինի ընդունել մեսսիջներ: Ասենք, երբ օգտվողը պատուհանի վրա left-click է անում, համակարգը պատուհանին մեսսիջ է ուղարկում, որ left click է տեղի ունեցել այսինչ կոորդինատի վրա: Ծրագրավորողը իր պատուհանը ժառանգում է որևէ պատուհան դասից ու իրեն հետաքրքրող մեսսիջների համար գրում է handler-ներ: Ասել է թե` ֆունկցիաներ, որոնք կանչվում են որպես պատասխան տվյալ մեսսիջին:
    Ամենակարևոր մեսսիջներից մեկը WM_PAINT-ն է: Այն ուղարկվում է պատուհանին, երբ անհրաժեշտ է պատուհանի պարունակությունը մասամբ կամ ամբողջությամբ վերանկարել: Որոշ դեպքերում այն ուղարկվում է ավտոմատ կերպով: Օրինակ, երբ minimize արված պատուհանը վերաբացվում է: Այլ դեպքերում, երբ պարունակությունը փոխվել է որևէ ծրագրի ներքին տրամաբանության արդյունքում (ասենք, օգտվողը ստեղնաշարի վրա կոճակ է սեղմել, ու ծրագիրը պետք է որևէ բան նկարի), Windows-ը ի՞նչ իմանա, որ պատուհանի պարունակությունը փոխվել է, և հատկապես որ մասն է փոխվել: Ամեն վայրկյան եթե ամբողջ պատուհանը վերանկարվեր, էկրանը անընդհատ թռթռալու էր: Դրա համար պետք է օգնել Windows-ին: UpdateWindow մեթոդը պատուհանին ուղարկում է WM_PAINT մեսսիջը, որպեսզի ամբողջ պատուհանը վերանկարվի:

  13. Գրառմանը 2 հոգի շնորհակալություն են հայտնել.

    VisTolog (29.08.2013), Արամ (20.08.2013)

  14. #11
    Բարի ճանապարհ One_Way_Ticket-ի ավատար
    Գրանցման ամսաթիվ
    19.03.2009
    Հասցե
    Ուղևորի ծոցագրպան
    Տարիք
    38
    Գրառումներ
    3,574
    Բլոգի գրառումներ
    32
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Արամ-ի խոսքերից Նայել գրառումը
    Չէ չգիտեմ, եթե դժվար չի
    Քյառթերի լեզվով ասած` ASSERT-ը նշանակում է "հորս արև"
    Ավելի հասկանալի լեզվով դա նշանակում է` տվյալ boolean արտահայտությունը պարտավոր է true լինել: Եթե այն false է, նշանակում է ծրագրում բագ կա: Ծրագիրը աշխատելու ժամանակ կստուգի այդ պայմանը, և եթե false է, հաղորդագրություն կտա այդ մասին և կավարտի աշխատանքը:
    Assert-ները ստեղծված են ծրագրի տեստավորումը հեշտացնելու համար: Լավ ծրագրավորողները իրենց կոդում լիքը assert-ներ են շարում, հետո երբ որևէ տեստի վրա որևէ assert թռնում է, debug են անում, պարզում են թե ինչու է դա տեղի ունեցել: Ոչ այնքան լավ ծրագրովորողները (օրինակ, ես) assert-ներ երբեք չեն օգտագործում
    Քանի որ assert-ի նպատակը ծրագրի ներքին տեստավորումն է, դրանք իրականացվում են ինչ-որ մակրոյի տեսքով, որը ստուգումը կատարում է միայն ծրագրի debug տարբերակում: Release տարբերակում, որը ուղարկվում է գնորդին, assert-ը ոչինչ չի անում, որպեսզի ավելորդ տեղը ծրագրի աշխատանքը չդանդաղեցնի:

  15. Գրառմանը 2 հոգի շնորհակալություն են հայտնել.

    VisTolog (29.08.2013), Արամ (20.08.2013)

  16. #12
    ^ ^ Արամ-ի ավատար
    Գրանցման ամսաթիվ
    29.10.2006
    Հասցե
    Երևան
    Գրառումներ
    4,981
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում One_Way_Ticket-ի խոսքերից Նայել գրառումը
    Ուրեմն այսպես: Windows-ում կամայական պատուհան պիտի պատրաստ լինի ընդունել մեսսիջներ: Ասենք, երբ օգտվողը պատուհանի վրա left-click է անում, համակարգը պատուհանին մեսսիջ է ուղարկում, որ left click է տեղի ունեցել այսինչ կոորդինատի վրա: Ծրագրավորողը իր պատուհանը ժառանգում է որևէ պատուհան դասից ու իրեն հետաքրքրող մեսսիջների համար գրում է handler-ներ: Ասել է թե` ֆունկցիաներ, որոնք կանչվում են որպես պատասխան տվյալ մեսսիջին:
    Ամենակարևոր մեսսիջներից մեկը WM_PAINT-ն է: Այն ուղարկվում է պատուհանին, երբ անհրաժեշտ է պատուհանի պարունակությունը մասամբ կամ ամբողջությամբ վերանկարել: Որոշ դեպքերում այն ուղարկվում է ավտոմատ կերպով: Օրինակ, երբ minimize արված պատուհանը վերաբացվում է: Այլ դեպքերում, երբ պարունակությունը փոխվել է որևէ ծրագրի ներքին տրամաբանության արդյունքում (ասենք, օգտվողը ստեղնաշարի վրա կոճակ է սեղմել, ու ծրագիրը պետք է որևէ բան նկարի), Windows-ը ի՞նչ իմանա, որ պատուհանի պարունակությունը փոխվել է, և հատկապես որ մասն է փոխվել: Ամեն վայրկյան եթե ամբողջ պատուհանը վերանկարվեր, էկրանը անընդհատ թռթռալու էր: Դրա համար պետք է օգնել Windows-ին: UpdateWindow մեթոդը պատուհանին ուղարկում է WM_PAINT մեսսիջը, որպեսզի ամբողջ պատուհանը վերանկարվի:
    Փառք Աստծո մեկը կարողացավ ինձ նորմալ բացատրել թե ինչպես են էդ պատուհանները աշխատում, շնորհակալ եմ, շարունակեմ բզբզալ

  17. #13
    ^ ^ Արամ-ի ավատար
    Գրանցման ամսաթիվ
    29.10.2006
    Հասցե
    Երևան
    Գրառումներ
    4,981
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Կարող է պատահաբար, փորձված MFC-ի ուչեբնիկի լինկ տաք:

  18. #14
    Պապա x3 Աթեիստ-ի ավատար
    Գրանցման ամսաթիվ
    26.05.2007
    Հասցե
    Հայաստան
    Տարիք
    45
    Գրառումներ
    8,706
    Mentioned
    49 Post(s)
    Tagged
    1 Thread(s)
    http://avaxsearch.com/avaxhome_searc...=5&l=&sort_by=

    Լինկն արդեն դրել էի, որ տեսա գրածդ «փորձված» բառը ։)
    Ոչ մեկը չեմ փորձել ։)
    Վերջին խմբագրող՝ Աթեիստ: 29.08.2013, 18:47:
    artak.am De gustibus et coloribus non est disputandum.

  19. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    Արամ (29.08.2013)

Թեմայի մասին

Այս թեման նայող անդամներ

Այս պահին թեմայում են 1 հոգի. (0 անդամ և 1 հյուր)

Էջանիշներ

Էջանիշներ

Ձեր իրավունքները բաժնում

  • Դուք չեք կարող նոր թեմաներ ստեղծել
  • Դուք չեք կարող պատասխանել
  • Դուք չեք կարող կցորդներ տեղադրել
  • Դուք չեք կարող խմբագրել ձեր գրառումները
  •