Qt4.8.2 QQ右下の弾窓のヒントを真似する
今日CSDNで偶然1人の先辈がJAVAで书いたQQの右下の隅で窓を弾いてヒントを见て、自分でQtを勉强しているので、自分で书いてみて、コードがめちゃくちゃですが、最后にやはり运行することができます.
プログラムの最終実行:
内容を入力してOKをクリックすると、右下からスムーズに下図がポップアップします.
10秒滞在すると、徐々に透明になり、最終的には消え、閲覧ボタンをクリックして入力したサイトを閲覧することができます.
一、入力内容のダイアログ
QDialogから継承し、「OK」をクリックし、内容が空でない場合は、適切に処理します.
二、ポップアップウィンドウ
ポップアップウィンドウは枠なしで、タイトルバーを自作する必要があります.
タイトルバー:
QWidgetから継承し、QLabelに参加してタイトルを表示し、閉じるボタンはポップアップウィンドウに閉じる信号を送信するために使用されます.両者の間にスプリング支持を加える.
myPushButtonはQPShButtonから継承します.ボタンの各種イベントを設定します.
myPushButton.h
ポップアップウィンドウ:
ポップアップウィンドウは主に3つの部分で構成されています.
主に3つのタイマーに依存します.
1.スムーズに動くタイマーで、ウィンドウを右下からゆっくりと適当な位置に移動します.
2.ウィンドウストップタイマーは、適切な位置に移動した後、すぐに開始し、10 S後にフォームが自動的に消え、自分でクリックして閉じることもできます.
3.フォームが閉じたタイマーは、閉じたときに透明度のグラデーションを採用し、完全に透明なときに自動的に押し出されます.
基本的にはこれらで、比較的に粗雑で、ソースコードはすでにアップロードしました:弟は点数を稼ぐのも容易ではありませんて、弟が1点を設けたのを責めないでください.
プログラムの最終実行:
内容を入力してOKをクリックすると、右下からスムーズに下図がポップアップします.
10秒滞在すると、徐々に透明になり、最終的には消え、閲覧ボタンをクリックして入力したサイトを閲覧することができます.
一、入力内容のダイアログ
QDialogから継承し、「OK」をクリックし、内容が空でない場合は、適切に処理します.
//
void inputMsg::onOK()
{
if(lineEditText->text().isEmpty() ||textEditContent->toPlainText().isEmpty() ||lineEditUrl->text().isEmpty())
return;
// , , ,
emit initMsg(lineEditText->text(),textEditContent->toPlainText(),lineEditUrl->text());
// accepted
QDialog::accept();
}
二、ポップアップウィンドウ
ポップアップウィンドウは枠なしで、タイトルバーを自作する必要があります.
タイトルバー:
QWidgetから継承し、QLabelに参加してタイトルを表示し、閉じるボタンはポップアップウィンドウに閉じる信号を送信するために使用されます.両者の間にスプリング支持を加える.
myPushButtonはQPShButtonから継承します.ボタンの各種イベントを設定します.
myPushButton.h
private:
void setBkPalette(int transparency);//
protected:
void enterEvent(QEvent *);//
void leaveEvent(QEvent *);//
void mousePressEvent(QMouseEvent *e);//
void mouseReleaseEvent(QMouseEvent *e);//
ポップアップウィンドウ:
ポップアップウィンドウは主に3つの部分で構成されています.
主に3つのタイマーに依存します.
1.スムーズに動くタイマーで、ウィンドウを右下からゆっくりと適当な位置に移動します.
2.ウィンドウストップタイマーは、適切な位置に移動した後、すぐに開始し、10 S後にフォームが自動的に消え、自分でクリックして閉じることもできます.
3.フォームが閉じたタイマーは、閉じたときに透明度のグラデーションを採用し、完全に透明なときに自動的に押し出されます.
基本的にはこれらで、比較的に粗雑で、ソースコードはすでにアップロードしました:弟は点数を稼ぐのも容易ではありませんて、弟が1点を設けたのを責めないでください.