Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Persian
  4. [SOLVED] فرم کریستالی ... !
Forum Updated to NodeBB v4.3 + New Features

[SOLVED] فرم کریستالی ... !

Scheduled Pinned Locked Moved Persian
16 Posts 5 Posters 6.7k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    Abbas Naghdi
    wrote on last edited by
    #1

    p{direction:rtl; text-align:right}. بچه ها چطور میتونم فرمم رو کریستالی کنم و یا چطور میتونم داخل بخش کریستالی فرم widget قرار بدم
    همچین چیزی با کیوت امکان داره ... ؟
    اصلا خودتون عکس رو ببینید
    !http://uploadtak.com/images/u3416_Capture.gif(Crystal)!

    1 Reply Last reply
    0
    • S Offline
      S Offline
      soroush
      wrote on last edited by
      #2

      It's not matter of Qt
      Use WIN32 API to obtain such a platform-specific feature.

      1 Reply Last reply
      0
      • A Offline
        A Offline
        Abbas Naghdi
        wrote on last edited by
        #3

        p{direction:rtl; text-align:right}. واقعا نمیشه ... !
        یعنی باید از API استفاده کنم ... ؟
        ولی داخل C# من این کار رو میکنم ... بدون استفاده از API !

        1 Reply Last reply
        0
        • S Offline
          S Offline
          soroush
          wrote on last edited by
          #4

          p{direction:rtl; text-align:right}. چرا با سی‌شارپ برنامه‌تو نمی‌نویسی؟

          1 Reply Last reply
          0
          • A Offline
            A Offline
            Abbas Naghdi
            wrote on last edited by
            #5

            [quote author="soroush" date="1357408994"]p{direction:rtl; text-align:right}. چرا با سی‌شارپ برنامه‌تو نمی‌نویسی؟[/quote]

            p{direction:rtl; text-align:right}. سروش جان من دارم با کیوت برنامه مینویسم حالا برم با c# بنویس
            c# رو یاد گرفتم برا پول در آوردن و کیوت رو برا کار های بزرگ و ... (بهم انرژی میده (مثل دارو های نیرو زا)) این برنامه ای که میخام بنویسم بزرگه ... میدونی که ... !

            1 Reply Last reply
            0
            • H Offline
              H Offline
              hdeldar
              wrote on last edited by
              #6

              p{direction:rtl; text-align:right}. سلام
              منظورتون اینکه می خواهید فرمتون بشکل دلخواه باشه ؟ یا شفاف باشه ؟
              خوب خیلی ساده است . اول paint ويدجت رو خودتون باید دست بگیرید و یک تصویر با هر شکل دلخواه که البته باید سطح الفا هم داشته باشه رو روی ویجت بکشید . بعد تو کانستراکت ویجت هم کافیته مقدار Qt::WA_TranslucentBackground و Qt::FramelessWindowHint رو setAttribute كنيد.برای تب هم خیلی ساده با stylesheet مي تونيى به همين شكل در بارید.

              1 Reply Last reply
              0
              • S Offline
                S Offline
                soroush
                wrote on last edited by
                #7

                [quote author="hdeldar" date="1357410531"]p{direction:rtl; text-align:right}. سلام
                منظورتون اینکه می خواهید فرمتون بشکل دلخواه باشه ؟ یا شفاف باشه ؟
                خوب خیلی ساده است . اول paint ويدجت رو خودتون باید دست بگیرید و یک تصویر با هر شکل دلخواه که البته باید سطح الفا هم داشته باشه رو روی ویجت بکشید . بعد تو کانستراکت ویجت هم کافیته مقدار Qt::WA_TranslucentBackground و Qt::FramelessWindowHint رو setAttribute كنيد.برای تب هم خیلی ساده با stylesheet مي تونيى به همين شكل در بارید.[/quote]

                p{direction:rtl; text-align:right}. روش درستی نیست.

                [quote author="Abbas Naghdi" date="1357409494"]
                [quote author="soroush" date="1357408994"]p{direction:rtl; text-align:right}. چرا با سی‌شارپ برنامه‌تو نمی‌نویسی؟[/quote]

                p{direction:rtl; text-align:right}. سروش جان من دارم با کیوت برنامه مینویسم حالا برم با c# بنویس
                c# رو یاد گرفتم برا پول در آوردن و کیوت رو برا کار های بزرگ و ... (بهم انرژی میده (مثل دارو های نیرو زا)) این برنامه ای که میخام بنویسم بزرگه ... میدونی که ... ! [/quote]

                p{direction:rtl; text-align:right}. Qt یک فریم‌ورک چندسکویی است. یک کد می‌نویسی توی ۱۰ تا سیستم‌عامل اجرا می‌کنی. الان انتظار داری برای API ویندوز یک API اضافی هم بدن برات؟ یک لایهٔ کاملاً اضافی و سربار که فقط کدنویسی‌تو راحت‌تر می‌کنه؟

                1 Reply Last reply
                0
                • H Offline
                  H Offline
                  hdeldar
                  wrote on last edited by
                  #8

                  p{direction:rtl; text-align:right}. چند تا برنامه برای ویندوز و لینوکس به این روشی که گفتم نوشتم و اشکال اجرایی تا حالا گزارش نشده .سرعتش هم بد نیست ولی تو ریسایز تو ویندوز یک تریکی زدم و سرعت رو بردم بالا. اما اگر این روش اشکال اساسیی ممکنه داشته باشه بهم بگید خیلی خوشحال میشم

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    soroush
                    wrote on last edited by
                    #9

                    [quote author="hdeldar" date="1357411163"]p{direction:rtl; text-align:right}. چند تا برنامه برای ویندوز و لینوکس به این روشی که گفتم نوشتم و اشکال اجرایی تا حالا گزارش نشده .سرعتش هم بد نیست ولی تو ریسایز تو ویندوز یک تریکی زدم و سرعت رو بردم بالا. اما اگر این روش اشکال اساسیی ممکنه داشته باشه بهم بگید خیلی خوشحال میشم [/quote]

                    p{direction:rtl; text-align:right}. چیزی رو که وجود داره با یه چیز جدید داری جایگزین می‌کنی. توی ویندوز سیستم Window management ،هست. و باهاش می‌شه هر بلایی سر پنجره‌ها و ضاهر برنامه‌ها دراورد. میشه شکل دکمه‌های کنترلی رو عوض کرد نوار عنوان پنجره‌ها رو رنگارنگ کرد و از این جینگولک کاری‌ها. حالا با استفاده از همون API داری titlebar رو حدف می‌کنی که خودت دوباره نقاشی‌ش کنی.

                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      Abbas Naghdi
                      wrote on last edited by
                      #10

                      [quote author="hdeldar" date="1357410531"]p{direction:rtl; text-align:right}. سلام
                      منظورتون اینکه می خواهید فرمتون بشکل دلخواه باشه ؟ یا شفاف باشه ؟
                      خوب خیلی ساده است . اول paint ويدجت رو خودتون باید دست بگیرید و یک تصویر با هر شکل دلخواه که البته باید سطح الفا هم داشته باشه رو روی ویجت بکشید . بعد تو کانستراکت ویجت هم کافیته مقدار Qt::WA_TranslucentBackground و Qt::FramelessWindowHint رو setAttribute كنيد.برای تب هم خیلی ساده با stylesheet مي تونيى به همين شكل در بارید.[/quote]

                      p{direction:rtl; text-align:right}. یکم توضیح بیشتر میدی ... ؟

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        Abbas Naghdi
                        wrote on last edited by
                        #11

                        p{direction:rtl; text-align:right}. من کرسیتالی رو برای ویندوز میخام ... آخه لینوکس کریستالی واسه چیشه ... !
                        من میخام یه دکمه داخل بخش کریستالی بزارم
                        اگه میشه چطوری ... ؟
                        اگه نمیشه که بازم چطوری title رو حذف کنم و دوباره خودم بسازم و ...

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          mohsen
                          wrote on last edited by
                          #12

                          p{direction:rtl;text-align:right}. جالبه اتفاقا چند روز پیش این مطلب رو داشتم مطالعه میکردم و بوکمارکش کردم.
                          http://blog.qt.digia.com/blog/2009/09/15/using-blur-behind-on-windows

                          p{direction:rtl;text-align:right}. سورس
                          http://chaos.troll.no/~jbache/blurbehind.zip

                          1 Reply Last reply
                          0
                          • H Offline
                            H Offline
                            hdeldar
                            wrote on last edited by
                            #13

                            p{direction:rtl; text-align:right}. یک برنامه خیلی ساده پایین نوشتم که تو سازنده ویجتتون کافیه دو خط کد و یک لود تصویر رو انجام بدید :
                            @
                            Widget::Widget(QWidget *parent)
                            : QWidget(parent)
                            {
                            QWidget::setWindowFlags( Qt::FramelessWindowHint);
                            setAttribute(Qt::WA_TranslucentBackground, true);
                            bgPixmap.load("../background.png");
                            }
                            @

                            p{direction:rtl; text-align:right}. توی تابع paintEvent هم که یک تابع virtual هست هم كافيه اون تصویر رو روی ویجتت بکشی

                            @
                            void Widget::paintEvent(QPaintEvent *event)
                            {
                            QPainter painter(this);
                            painter.drawPixmap(0,0,bgPixmap);
                            }
                            @

                            p{direction:rtl; text-align:right}. برای تغییر شکل برنامه خودمون منطقی نیست کل ویندوز رو بهم بریزیم.

                            1 Reply Last reply
                            0
                            • A Offline
                              A Offline
                              Abbas Naghdi
                              wrote on last edited by
                              #14

                              p{direction:rtl; text-align:right}. مرسی بچه ها چیزی که میخاستم شد

                              1 Reply Last reply
                              0
                              • N Offline
                                N Offline
                                nice_2000
                                wrote on last edited by
                                #15

                                p{direction:rtl; text-align:right;font-family:tahoma}. دقت کنید که اگر از FramelessWindowHint استفاده کنید پنجره امکان Minimize شدن رو نخواهد داشت و SplashScreen هم باعث میشه که آیکن برنامه در Taskbar نمایش داده نشه!

                                1 Reply Last reply
                                0
                                • H Offline
                                  H Offline
                                  hdeldar
                                  wrote on last edited by
                                  #16

                                  p{direction:rtl; text-align:right}. بله تو کد بالا حذف کردم . اگر بطور کامل مشکلتون حل شده بهتره تو ابتدای عنوان تاپیک عبارت [SOLVED] اضافه کنید

                                  1 Reply Last reply
                                  0

                                  • Login

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • Users
                                  • Groups
                                  • Search
                                  • Get Qt Extensions
                                  • Unsolved