精华内容
下载资源
问答
  • 模仿QQ系统设置窗口

    2012-11-09 11:53:27
    可以像QQ系统设置窗口中实现按钮菜单的移动,动态的显示对应的窗口,实现按钮菜单的收缩与移动,对应显示子窗口
  • 当前的要求是,模拟QQ系统设置的面板实现当前我们网盘中的基本配置功能。在完成这篇文章时已将基本功能实现完成,虽未整合进网盘客户端中,但基本技术预演已经实现。 QQ系统设置面板分析:  QQ系统设置面板效果图...

    业务需求:

             基于网盘客户端的实现,原有网盘的设置面板无论从界面显示还是从业务需求都不能满足我们的正常需求。当前的要求是,模拟QQ系统设置的面板实现当前我们网盘中的基本配置功能。在完成这篇文章时已将基本功能实现完成,虽未整合进网盘客户端中,但基本技术预演已经实现。

    QQ系统设置面板分析:

          QQ系统设置面板效果图:

                                           

          QQ系统设置面板功能描述:

           由于存在较多的配置,如果每个模块的配置项都设计到一个窗体中,则会存在很多的窗体,不太符合用户的使用体验,且程序编写也比较麻烦。QQ系统设置面板中的实现是,所有的配置项均列在右侧区域中,当移动右侧的滚动条的过程中,如果对应的面板出现则在左边的导航中对应的标题也显示点击的效果。同时,单独点击左侧的导航,右面的区域也显示对应导航的配置项。

    实现思路:

            左侧:

                     左侧导航的实现很简单,使用QListWidget完全可以满足我们的需求,至于当点击左侧时右侧显示对应模块的配置项则需要我们添加处理代码完成。

            右侧:

                     由于右侧存在导航栏,因此右侧的区域需要使用QScrollArea控件,这里需要注意两点:1> 在QScrollArea控件中每个模块的配置需要放在一个单独的QWidget中,只  有这样我们在移动滚动条经过某个某块的配置项时才可以识别到。2> 在实现滚动条效果时,看到网上有很多文章说滚动条效果无法实现出来,其实我的做法很简单,在ui窗体中将QScrollArea拖入窗体中,然后设置改窗体的属性:widgetResizable为不选中,即false状态。如果你的QScrollArea是在代码中new出来的,则它默认的widgetResizable是true,必须在代码中将它设置为false才行。

                    为了直观地说明第一个注意点,在我测试的UI窗体中QScrollArea区域中防止了多个QWidget(每个模块配置对应一个QWidget),贴图如下:

                                                                 

            到这里我们面临的问题就是:

            1. 当拖动滚动条时如何判断经过某个QWidget,从而显示左侧的对应项?

                 首先,需要绑定垂直滚动条的valueChanged事件,这样我们才能随时的监控它的移动变化;其次,利用QWidget的visibleRegion()方法,官方关于这个函数的解释是“当paint事件出现的时候返回它清晰的范围,对与可见的widget,它是一个没有被其它widget覆盖的近似的范围;反之返回一个空的范围”,通过调用QWidget的visibleRegion().isEmpty() 就可以确定出当前滑动过的区域。

            2. 当点击左侧的导航时,右侧区域如何定位到对应的配置模块?

                 首先,需要绑定QListWidget的itemClicked事件,这样我们才能监控到点击事件;其次利用QScrollBar的setSliderPosition()方法设置滚动调到特定模块的位置。

            3. 由于绑定了滚动条的valueChanged事件,又在itemClicked事件中设置了滚动条的问题,那么在设置位置的同时不也同样触发valueChanged事件吗?

                需要一个变量来标记,本次valueChanged事件是由于setSliderPosition方法引起的。

    关键代码段:

    1. 绑定QScrollArea的valueChanged事件和QListWidget的itemClicked事件

    void LHTSettingsBoard::SetupUi()
    {
         m_scroll = qFindChild<QScrollArea *>(m_wgtMain, "scrollArea");
    
         m_widget_login = qFindChild<QWidget *>(m_wgtMain, "widget_login");
         m_widget_register = qFindChild<QWidget *>(m_wgtMain, "widget_register");
         m_widget_network = qFindChild<QWidget *>(m_wgtMain, "widget_network");
         m_widget_password = qFindChild<QWidget *>(m_wgtMain, "widget_password");
    
         m_listWidget = qFindChild<QListWidget *>(m_wgtMain, "left_navigation");
    
         connect((const QObject*)m_scroll->verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(valueChanged(int)));
         connect(m_listWidget, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(itemClicked(QListWidgetItem*)));
    
         QListWidgetItem *loginItem = m_listWidget->item(0);
         loginItem->setSelected(true);
    
         m_wgtMain->show();
    }

    2. 响应valueChanged事件的槽,完成移动滚动条时,当某个面板出现时触发左侧QListWidget中item的选中事件

    void LHTSettingsBoard::valueChanged(int value)
    {
        QListWidgetItem *loginItem = m_listWidget->item(0);
        QListWidgetItem *registerItem = m_listWidget->item(1);
        QListWidgetItem *networkItem = m_listWidget->item(2);
        QListWidgetItem *passwordItem = m_listWidget->item(3);
    
        if (!m_sign)
        {
            if (!m_widget_login->visibleRegion().isEmpty())
            {
                loginItem->setSelected(true);
                return;
            }
            else
            {
                loginItem->setSelected(false);
            }
    
            if (!m_widget_register->visibleRegion().isEmpty())
            {
                registerItem->setSelected(true);
                return;
            }
            else
            {
                registerItem->setSelected(false);
            }
    
            if (!m_widget_network->visibleRegion().isEmpty())
            {
                networkItem->setSelected(true);
                return ;
            }
            else
            {
                networkItem->setSelected(false);
            }
    
            if (!m_widget_password->visibleRegion().isEmpty())
            {
                passwordItem->setSelected(true);
                return ;
            }
            else
            {
                passwordItem->setSelected(false);
            }
        }
    
        m_sign = false ;
    }

    3. 响应itemClicked事件的槽,完成点击QListWidget中的item时,QScrollArea中的滚动条移动到相应配置项的位置

    void LHTSettingsBoard::itemClicked(QListWidgetItem *item)
    {
        QString itemText = item->text();
        qDebug() << itemText;
    
        QPoint pos ;
    
        m_sign = true ;
    
        if (itemText.compare("Login") == 0)
        {
            pos = m_widget_login->pos();
            m_scroll->verticalScrollBar()->setSliderPosition(pos.y());
        }
        else if (itemText.compare("Register") == 0)
        {
            pos = m_widget_register->pos();
            m_scroll->verticalScrollBar()->setSliderPosition(pos.y());
        }
        else if (itemText.compare("Network") == 0)
        {
            pos = m_widget_network->pos();
            m_scroll->verticalScrollBar()->setSliderPosition(pos.y());
        }
        else if (itemText.compare("ChangePassword") == 0)
        {
            pos = m_widget_password->pos();
            m_scroll->verticalScrollBar()->setSliderPosition(pos.y());
        }
    
    }
    
    总结:

             通过以上就可以实现类似QQ系统设置面板的功能,开始我对这一块如何实现,使用什么控件完全不知道,共花了不到一天的事件查资料、试验才找到合适的方法。在这个过程中深刻地体会到解决问题最关键的地方在于思路,如果有了一个思路,哪怕别人告诉你应该朝着哪个方向走,后面的工作其实都是水到渠成很简单的了。慢慢享受这个过程,一个问题由完全不知道如何解决,到有思路,到真正解决。

    展开全文
  • [img=http://my.csdn.net/my/album/detail/1158184][/img]
  • 如图是QQ系统设置界面,其中有一点比较特别的,拖动设置界面的滚动条时, 左边的tab会自动随着滚动条的拖动,实现自动定位。比如我将滚动条拖到状态时, 左边的tab会自动定位到状态这个tab。请问这样的效果是...
  • 目前很流行的一个系统,因为对数据文件权限设置不当,可以随意下载,获得用户QQ的SID,众所周知,有了QQ号码和SID,就能在手机腾讯网上登录QQ。目前有两种使用比较广泛的:其搜索引擎关键词分别是:1."本站现在24...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    PHP在线挂QQ个人隐私泄漏,可导致通过手机腾讯网SID登录QQ,进而进行诈骗、社工等。

    目前很流行的一个系统,因为对数据文件权限设置不当,可以随意下载,获得用户QQ的SID,

    众所周知,有了QQ号码和SID,就能在手机腾讯网上登录QQ。

    目前有两种使用比较广泛的:其搜索引擎关键词分别是:

    1."本站现在24小时全天挂机inurl:look.php"

    2."24小时挂Q系统 挂Q状态查询 提取SID码"

    数据文件分别是:

    1.xx.com/gq_date.dat

    2.xx.com/db.dat

    当然有一些站也做了修改,权限设置等这个漏洞就无效。

    http://tcsq.by.76at.com/gq_date.dat

    tcsq,2215335746,AYHGwqNTPBHeLcaZyImus4ui,2012-02-17 13:35:29 ;tcsq,592600540,AeHSLAtdKAJs09U3qr3ayNai,2012-02-17 13:35:54 ;tcsq,822481102,AX2x0xCTKjAmulH3WNynLOyi,2012-02-17 13:36:28 ;tcsq,1113435604,AU_pjPX2eD4ERB3sHATBh0ai,2012-02-17 13:36:51 ;tcsq,1275285347,AdfZHos8ql-NPBBeJKPdQbCi,2012-02-17 13:37:04 ;tcsq,754540252,Ae5lBJVpuN4RHgo9U9xoyICi,2012-02-17 13:37:25 ;tcsq,1914269127,AYEmFi-79W4EFrOLkpNibqmi,2012-02-17 13:38:19 ;tcsq,1834188441,ARZKhhFpFxSmRUUuiQYny6Ki,2012-02-17 13:39:28 ;tcsq,1970536142,AXQIH9RCSoWvtctHxPxY5g2i,2012-02-17 13:39:48 ;tcsq,1963513081,AZNu1rW34zkeixfsYmoA2nmi,2012-02-17 13:40:06 ;tcsq,1538885353,AUxXJ-X08hZLdLGByxCMA9Si,2012-02-17 13:40:24 ;tcsq,1091071600,AUmdMWqvQPADRoj-nfnMuCui,2012-02-17 13:40:47 ;tcsq,1147375552,AXlrEOAj3K4Jb4W7LDqrlIai,2012-02-17 13:41:03 ;tcsq,1393317690,AQopljryHnzCWtFWIJCEkk6i,2012-02-17 13:41:15 ;tcsq,2232334876,AcbBgA0k9IF96ZqRr-nWzlyi,2012-02-17 13:41:31 ;tcsq,1445447629,AYpMn0D0FGMD4X-3e9RWFaqi,2012-02-17 13:42:33 ;tcsq,1440141034,AXxGKDaf8oypzDob3XvlK56i,2012-02-17 13:42:47 ;tcsq,798003012,AbXEdvRCLPqqS_wMp9kJfbei,2012-02-17 13:43:04 ;tcsq,804616319,Ab-BCISQA7Ls1zgLfQ3BXlei,2012-02-17 13:43:16 ;tcsq,281994546,Aajkmw2n_TTYOUi7EJJPugmi,2012-02-17 13:43:32 ;754540252,287206447,AfOABAcJOJD2-Utd-MooWRai,2012-02-17 13:44:06 ;754540252,184421570,AfkWC73cMypAeee__CsWXRii,2012-02-17 13:44:23 ;754540252,799892085,ASYdV2HWOzFw83lFw6Wvn0Gi,2012-02-17 13:44:38 ;754540252,352648731,ARe39EqqSHJ-6RQrProu1Oui,2012-02-17 13:45:01 ;754540252,442685927,Abv3RCSdNXr1FP9-aWWi11ui,2012-02-17 13:45:14 ;

    http://shenyaw.cpanel.my/db.dat

    375988497,884572452,nqqchatMain&sid=AbGmHyZDy7Cbd3wS3ewE6xhL&myqq,2011-12-13 11:37:07 ;375988497,870699770,Ac2MMg48qf29dLtt0O2ItXWF&myqq,2011-12-15 11:07:21 ;375988497,188750301,AXIAK1AN9LRzW95xlmdip2PY&myqq=188750301,2011-12-21 23:25:08 ;375988497,572505757,AaZhh6Mb4nSCUna_0sCMCOPc&myqq=572505757,2011-12-21 23:40:39 ;375988497,94536422,AdVASRHRsYhf0zXd8R9dBbvd&myqq=94536422,2011-12-21 23:46:34 ;375988497,1265652343,AXZh51KwLRRB9desFtvIiqBU&myqq=1265652343,2011-12-22 09:47:37 ;375988497,1265652347,nqqchatMain&sid=AforYi1qz2g4buW9tej634kY&myqq=1265652347,2011-12-22 09:56:11 ;375988497,993425822,ARNB5SsvRQM9_eKA1VrZOIzX,2012-01-11 19:00:05 ;375988497,343625052,AcXB3Fc2f9OIXEhFy4lG9cVN,2012-01-11 19:01:19 ;375988497,541269758,AR6s7wl8pH6WGB_GJKNoB0NN,2012-01-11 19:01:57 ;375988497,1204366758,AQ8ePajtz-wn9PQtsVPeOXQ5,2012-01-20 15:24:03 ;375988497,812851168,AVSS62mNZ4sahkAVCi580DHD,2012-01-24 16:27:27 ;375988497,896221565,AXE6RiXbjCXPvkfvQ_8N4LpV&aid,2012-02-5 09:26:56 ;375988497,283331368,AY-NEumDCHdxgqAyh77ryfPZ,2012-02-8 00:08:59 ;375988497,549861999,ATIuGKvZXW_TrUSTXW4V2rdu,2012-02-8 11:50:43 ;375988497,277910488,Ad1PlaxZC-xo7yZEsTri9BUZ&myqq=277910488,2012-02-9 10:01:10 ;375988497,594500226,ATPbC0HlWopmKplnbIlja3a8,2012-02-19 10:22:22 ;375988497,993401021,ARCA9App5QpZ0pXSok4TPh69,2012-02-19 10:23:35 ;375988497,859900328,AWSs3oKcwomQV975fbjq84gF,2012-03-12 21:47:12 ;375988497,1045125801,ARu3qWs-d2YhWfY_ZC9wgMA8,2012-03-13 02:21:22 ;

    修复方案:

    改名,最直接的是禁止访问

    展开全文
  • [img=https://img-bbs.csdn.net/upload/201411/14/1415931989_927353.jpg][/img] 最后有个详细 说明 ,画出个轮廓最好了~~~
  • QQ车的可以看看,相互学习,相互指导,希望对你有帮助
  • QQDemo(翻转,小键盘,系统设置等,基于duiengine)

    千次下载 热门讨论 2014-03-28 09:38:31
    QQDemo(翻转,小键盘,系统设置等,基于duiengine)
  • 随时修改你QQ的尾巴,让你的QQ别具一格
  • qqdemo.2014翻转,小键盘,系统设置
  • Debian系统设置

    2020-10-09 15:48:15
    1.Debian 9 中设置网络 https://www.cnblogs.com/samgg/p/7712136.html 2.NetworkConfiguration https://wiki.debian.org/NetworkConfiguration#Using_DHCP_to_automatically_configure_the_interface 3....
    展开全文
  • QT5 仿最新QQ设置面板

    千次阅读 2017-04-18 17:35:12
     模仿QQ系统设置的面板:上面的导航切换选项卡使用QTabWidget,左侧导航使用QListWidget,右侧的显示区域使用QScrollArea控件;主要使用垂直滚动条的valueChanged事件和QListWidget的itemClicked事件;通过调用...

    一、简介

            模仿QQ系统设置的面板:上面的导航切换选项卡使用QTabWidget,左侧导航使用QListWidget,右侧的显示区域使用QScrollArea控件;主要使用垂直滚动条的valueChanged事件和QListWidget的itemClicked事件;通过调用QWidget的visibleRegion().isEmpty() 判断QScrollArea中滑动过的区域,通过垂直滚动条的setSliderPosition方法设置QScrollArea的新的区域。


    二、详解

    1、模仿QQ系统设置的面板

    (1)代码

    • settingpanel.h:
    [html] view plain copy
    1. #ifndef SETTINGPANEL_H  
    2. #define SETTINGPANEL_H  
    3.   
    4. #include <QtGui> 
    5. #include <QListWidgetItem>
    6. #include <QScrollArea>
    7. #include <QScrollBar>
    8. #include <QLabel>
    9. #include <QCheckBox>
    10. #include <QRadioButton>
    11. #include <QComboBox> 
    12. #include "epushbutton.h"  
    13.   
    14. class SettingPanel : public QWidget  
    15. {  
    16.     Q_OBJECT  
    17.   
    18. public:  
    19.     SettingPanel(QWidget *parent = 0);  
    20.     ~SettingPanel();  
    21.   
    22. protected:  
    23.      void paintEvent(QPaintEvent *event);  
    24.      void mousePressEvent(QMouseEvent *event);  
    25.      void mouseReleaseEvent(QMouseEvent *event);  
    26.      void mouseMoveEvent(QMouseEvent *event);  
    27.      void resizeEvent(QResizeEvent *event);  
    28.   
    29. private:  
    30.      void initTabOneWidget();  
    31.      void initTabTwoWidget();  
    32.      void initTabThreeWidget();  
    33.   
    34. private slots:  
    35.      void slotCurrentChanged(int index);  
    36.      void slotItemClicked(QListWidgetItem *item);  
    37.      void slotValueChanged(int value);  
    38.   
    39. private:  
    40.     QPoint movePoint;  
    41.     bool mousePress;  
    42.     EPushButton *minButton;  
    43.     EPushButton *closeButton;  
    44.     QRect rectMove;  
    45.     QTabWidget *tabWidget;  
    46.     QListWidget *contentsWidget;  
    47.     QWidget *widgetScrollArea;  
    48.     QScrollArea *scrollArea; 
    49.     QScrollBar  *vertical_scrollBar; 
    50.     QWidget *loginWidget;  
    51.     QWidget *panelWidget;  
    52.     QWidget *statusWidget;  
    53.     QWidget *sessionWidget;  
    54.   
    55.     QWidget *passwordWidget;  
    56.     QWidget *qqlockWidget;  
    57.   
    58.     QWidget *spaceWidget;  
    59.     bool signFlag;  
    60. };  
    61.   
    62. #endif // SETTINGPANEL_H  

    • settingpanel.cpp:

    [html] view plain copy
    1. #include "settingpanel.h"  
    2.   
    3. SettingPanel::SettingPanel(QWidget *parent)  
    4.     : QWidget(parent, Qt::FramelessWindowHint)  
    5.     , mousePress(false)  
    6.     , signFlag(false)  
    7.     , loginWidget(NULL)  
    8.     , panelWidget(NULL)  
    9.     , statusWidget(NULL)  
    10.     , sessionWidget(NULL)  
    11.     , passwordWidget(NULL)  
    12.     , qqlockWidget(NULL)  
    13.     , spaceWidget(NULL)  
    14. {  
    15.     resize(700, 500);  
    16.     setStyleSheet("QCheckBox{font-family:arial;font-size:13px;border-radius:2px;color:#000000;}"  
    17.                   "QCheckBox::indicator:checked{color:#FF0000}"  
    18.                   "QTabWidget::pane{border:none;}"  
    19.                   "QTabWidget::tab-bar{alignment:left;}"  
    20.                   "QTabBar::tab{background:transparent;color:#000000;min-width:100px;min-height:35px;}"  
    21.                   "QTabBar::tab:hover{background:rgb(255, 255, 255, 255);}"  
    22.                   "QTabBar::tab:selected{border-color: white;color:green;padding-left:5px}"  
    23.                   "QListWidget{background:rgba(240,240,240,255);color:#000000;border:0px solid gray;padding:0px;}"  
    24.                   "QListWidget::item{width:94px;height:38px;border:0px solid gray;padding-left:24px;}"  
    25.                   "QListWidget::item:selected:active{background:#FFFFFF;color:#19649F;border-width:-1;}"  
    26.                   "QListWidget::item:selected{background:#FFFFFF;color:#19649F;}"  
    27.                   "QLabel,QRadioButton{background:transparent;color:#000000;font-family:arial;font-size:13px;}"  
    28.   
    29.                   "QComboBox{border:1px solid #d7d7d7; border-radius: 3px; padding: 1px 3px 1px 3px;}"  
    30.                   "QComboBox:editable{background:transparent;}"  
    31.                   "QComboBox:!editable{background: #fbfbfb;color:#666666}"  
    32.                   "QComboBox::down-arrow:on {top: 1px;left: 1px;}"  
    33.                   "QComboBox QAbstractItemView::item{max-width:30px;min-height:20px;}"  
    34.                   );  
    35.     rectMove = QRect(0, 0, width(), 35);  
    36.   
    37.     tabWidget = new QTabWidget(this);  
    38.     tabWidget->setFocusPolicy(Qt::NoFocus);  
    39.     QWidget *tab1 = new QWidget(this);  
    40.     tab1->setStyleSheet("background:#FFFFFF");  
    41.     QWidget *tab2 = new QWidget(this);  
    42.     tab2->setStyleSheet("background:#FFFFFF");  
    43.     QWidget *tab3 = new QWidget(this);  
    44.     tab3->setStyleSheet("background:#FFFFFF");  
    45.     tabWidget->addTab(tab1, QIcon(":/setting.png"),tr("base setting"));  
    46.     tabWidget->addTab(tab2, QIcon(":/home.png"), tr("secure setting"));  
    47.     tabWidget->addTab(tab3, QIcon(":/status.png"), tr("power setting"));  
    48.     tabWidget->setCurrentIndex(0);  
    49.   
    50.     contentsWidget = new QListWidget(this);  
    51.     contentsWidget->setFocusPolicy(Qt::NoFocus);  
    52.     connect(contentsWidget, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(slotItemClicked(QListWidgetItem*)));  
    53.   
    54.     scrollArea = new QScrollArea(this);  
    55.     scrollArea->setStyleSheet("QScrollArea{background:transparent;}"  
    56.                               "QScrollBar::vertical{background:#35A739;border:-5px solid grey;margin:-2px 0px 0px 0px;width:8px;}"  
    57.                               "QScrollBar::horizontal{background:#35A739;border:0px solid #126691;height:10px;}"  
    58.                               "QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {background:#D3D3D3;}"  
    59.                               );  
    60.   
    61.     scrollArea->setFrameShape(QFrame::NoFrame);  
    62.     scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);  
    63.     scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);  
    64.     scrollArea->setFocusPolicy(Qt::NoFocus);  
    65.     vertical_scrollBar = new QScrollBar(scrollArea);
    66.     scrollArea->setVerticalScrollBar(vertical_scrollBar);
    67.     connect(vertical_scrollBar, SIGNAL(valueChanged(int)), this, SLOT(slotValueChanged(int)));  
    68.   
    69.     connect(tabWidget, SIGNAL(currentChanged(int)), this, SLOT(slotCurrentChanged(int)));  
    70.     slotCurrentChanged(0);  
    71.   
    72.     minButton = new EPushButton(this);  
    73.     minButton->setPixName(":/min");  
    74.     minButton->setToolTip(tr("minimize"));  
    75.     connect(minButton, SIGNAL(clicked()), this, SLOT(showMinimized()));  
    76.   
    77.     closeButton = new EPushButton(this);  
    78.     closeButton->setPixName(":/close");  
    79.     closeButton->setToolTip(tr("close"));  
    80.     connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));  
    81. }  
    82.   
    83. SettingPanel::~SettingPanel()  
    84. {  
    85.   
    86. }  
    87.   
    88. void SettingPanel::resizeEvent(QResizeEvent *event)  
    89. {  
    90.     tabWidget->setGeometry(0, 35, this->width(), this->height() - 35);  
    91.     contentsWidget->setGeometry(0, 71, 130, this->height() - 71);  
    92.     scrollArea->setGeometry(131, 72, this->width() - 132, this->height() - 73);  
    93.     minButton->move(width() - 27 - closeButton->width(), 6);  
    94.     closeButton->move(width() - 27, 6);  
    95.     move((QApplication::desktop()->width() - width())/2,  (QApplication::desktop()->height() - height())/2);  
    96.     QWidget::resizeEvent(event);  
    97. }  
    98.   
    99. void SettingPanel::initTabOneWidget()  
    100. {  
    101.     /************loginWidget**************/  
    102.     loginWidget = new QWidget(widgetScrollArea);  
    103.     loginWidget->show();  
    104.     QLabel *label = new QLabel(loginWidget);  
    105.     label->setText(tr("login:"));  
    106.     label->setGeometry(30, 10, 50, 30);  
    107.     label->show();  
    108.     QCheckBox *first = new QCheckBox(loginWidget);  
    109.     first->setFocusPolicy(Qt::NoFocus);  
    110.     first->setText(tr("start QQ when starting"));  
    111.     first->setGeometry(100, 10, 300, 30);  
    112.     first->show();  
    113.     QCheckBox *second = new QCheckBox(loginWidget);  
    114.     second->setFocusPolicy(Qt::NoFocus);  
    115.     second->setText(tr("login when starting QQ"));  
    116.     second->setGeometry(100, 40, 300, 30);  
    117.     second->show();  
    118.     QCheckBox *third = new QCheckBox(loginWidget);  
    119.     third->setFocusPolicy(Qt::NoFocus);  
    120.     third->setChecked(true);  
    121.     third->setText(tr("open the tips always"));  
    122.     third->setGeometry(100, 70, 300, 30);  
    123.     third->show();  
    124.     QCheckBox *forth = new QCheckBox(loginWidget);  
    125.     forth->setFocusPolicy(Qt::NoFocus);  
    126.     forth->setText(tr("open the previous session when logining"));  
    127.     forth->setGeometry(100, 100, 300, 30);  
    128.     forth->show();  
    129.     QCheckBox *five = new QCheckBox(loginWidget);  
    130.     five->setFocusPolicy(Qt::NoFocus);  
    131.     five->setText(tr("open the tips always"));  
    132.     five->setGeometry(100, 130, 300, 30);  
    133.     five->show();  
    134.     QCheckBox *sixth = new QCheckBox(loginWidget);  
    135.     sixth->setFocusPolicy(Qt::NoFocus);  
    136.     sixth->setChecked(true);  
    137.     sixth->setText(tr("start phone qq when leaving"));  
    138.     sixth->setGeometry(100, 160, 300, 30);  
    139.     sixth->show();  
    140.     QCheckBox *seventh = new QCheckBox(loginWidget);  
    141.     seventh->setFocusPolicy(Qt::NoFocus);  
    142.     seventh->setChecked(true);  
    143.     seventh->setText(tr("diskplay the waiting tips when logining"));  
    144.     seventh->setGeometry(100, 190, 300, 30);  
    145.     seventh->show();  
    146.     loginWidget->setGeometry(0, 0, 555, 220);  
    147.     /************panelWidget**************/  
    148.     panelWidget = new QWidget(widgetScrollArea);  
    149.     panelWidget->show();  
    150.     QLabel *plabel = new QLabel(panelWidget);  
    151.     plabel->setText(tr("mainpanel:"));  
    152.     plabel->setGeometry(30, 10, 50, 30);  
    153.     plabel->show();  
    154.     QCheckBox *pfirst = new QCheckBox(panelWidget);  
    155.     pfirst->setChecked(true);  
    156.     pfirst->setFocusPolicy(Qt::NoFocus);  
    157.     pfirst->setText(tr("stays on top always"));  
    158.     pfirst->setGeometry(100, 10, 300, 30);  
    159.     pfirst->show();  
    160.     QCheckBox *psecond = new QCheckBox(panelWidget);  
    161.     psecond->setChecked(true);  
    162.     psecond->setFocusPolicy(Qt::NoFocus);  
    163.     psecond->setText(tr("hide when  skiming the edge of desktop"));  
    164.     psecond->setGeometry(100, 40, 300, 30);  
    165.     psecond->show();  
    166.     QCheckBox *pthird = new QCheckBox(panelWidget);  
    167.     pthird->setFocusPolicy(Qt::NoFocus);  
    168.     pthird->setChecked(true);  
    169.     pthird->setText(tr("display the icon of qq at the taskbar"));  
    170.     pthird->setGeometry(100, 70, 300, 30);  
    171.     pthird->show();  
    172.     QLabel *pforth = new QLabel(panelWidget);  
    173.     pforth->setText(tr("when closing the mainpanel:"));  
    174.     pforth->setGeometry(100, 100, 300, 30);  
    175.     pforth->show();  
    176.     QRadioButton *hideRadio = new QRadioButton(panelWidget);  
    177.     hideRadio->setFocusPolicy(Qt::NoFocus);  
    178.     hideRadio->setText(tr("hide at the taskbar and do not exit"));  
    179.     hideRadio->setGeometry(120, 130, 300, 30);  
    180.     hideRadio->show();  
    181.     QRadioButton *exitRadio = new QRadioButton(panelWidget);  
    182.     exitRadio->setFocusPolicy(Qt::NoFocus);  
    183.     exitRadio->setChecked(true);  
    184.     exitRadio->setText(tr("exit the program"));  
    185.     exitRadio->setGeometry(120, 160, 300, 30);  
    186.     exitRadio->show();  
    187.     panelWidget->setGeometry(0, 220, 555, 190);  
    188.     /************statusWidget**************/  
    189.     statusWidget = new QWidget(widgetScrollArea);  
    190.     statusWidget->show();  
    191.     QLabel *slabel = new QLabel(statusWidget);  
    192.     slabel->setText(tr("status:"));  
    193.     slabel->setGeometry(30, 10, 50, 30);  
    194.     slabel->show();  
    195.     QLabel *slabelsecond = new QLabel(statusWidget);  
    196.     slabelsecond->setText(tr("the status of logining:"));  
    197.     slabelsecond->setGeometry(100, 10, 150, 30);  
    198.     slabelsecond->show();  
    199.     QComboBox *combox = new QComboBox(statusWidget);  
    200.     combox->setFocusPolicy(Qt::NoFocus);  
    201.     combox->setStyle(new QPlastiqueStyle);  
    202.     combox->addItems(QStringList() << tr("hide") << tr("oneline") << tr("busy") << tr("leave"));  
    203.     combox->setGeometry(200, 12, 80, 24);  
    204.     combox->show();  
    205.     QCheckBox *ssecond = new QCheckBox(statusWidget);  
    206.     ssecond->setChecked(true);  
    207.     ssecond->setFocusPolicy(Qt::NoFocus);  
    208.     ssecond->setText(tr("switch to busy when running the program of fullscreen"));  
    209.     ssecond->setGeometry(100, 40, 300, 30);  
    210.     ssecond->show();  
    211.     QCheckBox *sthird = new QCheckBox(statusWidget);  
    212.     sthird->setFocusPolicy(Qt::NoFocus);  
    213.     sthird->setChecked(true);  
    214.     sthird->setText(tr("auto replay when leaving or busy"));  
    215.     sthird->setGeometry(100, 70, 300, 30);  
    216.     sthird->show();  
    217.     QCheckBox *sforth = new QCheckBox(statusWidget);  
    218.     sforth->setFocusPolicy(Qt::NoFocus);  
    219.     sforth->setText(tr("lock the qq when do not moving"));  
    220.     sforth->setGeometry(100, 100, 300, 30);  
    221.     sforth->show();  
    222.     statusWidget->setGeometry(0, 410, 555, 130);  
    223.     /************sessionWidget**************/  
    224.     sessionWidget = new QWidget(widgetScrollArea);  
    225.     sessionWidget->show();  
    226.     QLabel *elabel = new QLabel(sessionWidget);  
    227.     elabel->setText(tr("session:"));  
    228.     elabel->setGeometry(30, 10, 50, 30);  
    229.     elabel->show();  
    230.     QCheckBox *efirst = new QCheckBox(sessionWidget);  
    231.     efirst->setChecked(true);  
    232.     efirst->setFocusPolicy(Qt::NoFocus);  
    233.     efirst->setText(tr("use colourful bubble to chat"));  
    234.     efirst->setGeometry(100, 10, 300, 30);  
    235.     efirst->show();  
    236.     QCheckBox *esecond = new QCheckBox(sessionWidget);  
    237.     esecond->setChecked(true);  
    238.     esecond->setFocusPolicy(Qt::NoFocus);  
    239.     esecond->setText(tr("do not dispaly ad"));  
    240.     esecond->setGeometry(100, 40, 300, 30);  
    241.     esecond->show();  
    242.     QCheckBox *ethird = new QCheckBox(sessionWidget);  
    243.     ethird->setFocusPolicy(Qt::NoFocus);  
    244.     ethird->setText(tr("auto pop the panel when having massage"));  
    245.     ethird->setGeometry(100, 70, 300, 30);  
    246.     ethird->show();  
    247.     QCheckBox *eforth = new QCheckBox(sessionWidget);  
    248.     eforth->setChecked(true);  
    249.     eforth->setFocusPolicy(Qt::NoFocus);  
    250.     eforth->setText(tr("use autorun magic and supper expression"));  
    251.     eforth->setGeometry(100, 100, 300, 30);  
    252.     eforth->show();  
    253.     QCheckBox *efive = new QCheckBox(sessionWidget);  
    254.     efive->setChecked(true);  
    255.     efive->setFocusPolicy(Qt::NoFocus);  
    256.     efive->setText(tr("use moving feeling to char"));  
    257.     efive->setGeometry(100, 130, 300, 30);  
    258.     efive->show();  
    259.     QCheckBox *esixth = new QCheckBox(sessionWidget);  
    260.     esixth->setFocusPolicy(Qt::NoFocus);  
    261.     esixth->setChecked(true);  
    262.     esixth->setText(tr("display the window of char at the sidebar"));  
    263.     esixth->setGeometry(100, 160, 300, 30);  
    264.     esixth->show();  
    265.     QCheckBox *eseventh = new QCheckBox(sessionWidget);  
    266.     eseventh->setFocusPolicy(Qt::NoFocus);  
    267.     eseventh->setChecked(true);  
    268.     eseventh->setText(tr("allow the moving window"));  
    269.     eseventh->setGeometry(100, 190, 300, 30);  
    270.     eseventh->show();  
    271.     QCheckBox *eeighth = new QCheckBox(sessionWidget);  
    272.     eeighth->setFocusPolicy(Qt::NoFocus);  
    273.     eeighth->setChecked(true);  
    274.     eeighth->setText(tr("dispaly search tips"));  
    275.     eeighth->setGeometry(100, 210, 300, 30);  
    276.     eeighth->show();  
    277.     QCheckBox *enineth = new QCheckBox(sessionWidget);  
    278.     enineth->setFocusPolicy(Qt::NoFocus);  
    279.     enineth->setChecked(true);  
    280.     enineth->setText(tr("dispaly the history information"));  
    281.     enineth->setGeometry(100, 240, 300, 30);  
    282.     enineth->show();  
    283.     QCheckBox *etenth = new QCheckBox(sessionWidget);  
    284.     etenth->setFocusPolicy(Qt::NoFocus);  
    285.     etenth->setChecked(true);  
    286.     etenth->setText(tr("combine the session window"));  
    287.     etenth->setGeometry(100, 270, 300, 30);  
    288.     etenth->show();  
    289.     sessionWidget->setGeometry(0, 540, 555, 300 + 127);  
    290.   
    291.     widgetScrollArea->resize(555, 840+127);  
    292. }  
    293.   
    294. void SettingPanel::initTabTwoWidget()  
    295. {  
    296.     /************passwordWidget**************/  
    297.     passwordWidget = new QWidget(widgetScrollArea);  
    298.     passwordWidget->show();  
    299.     QLabel *label = new QLabel(passwordWidget);  
    300.     label->setText(tr("password:"));  
    301.     label->setGeometry(30, 10, 50, 30);  
    302.     label->show();  
    303.     QLabel *first = new QLabel(passwordWidget);  
    304.     first->setText(tr("do not remember the password:"));  
    305.     first->setGeometry(100, 10, 300, 30);  
    306.     first->show();  
    307.     QPushButton *second = new QPushButton(passwordWidget);  
    308.     second->setStyleSheet("QPushButton{border:1px solid lightgray;background:rgb(230,230,230);border-radius:3px;}"  
    309.                           "QPushButton:hover{border-color:green;background:#bee7fd;}");  
    310.     second->setFocusPolicy(Qt::NoFocus);  
    311.     second->setText(tr("cancel to remember password"));  
    312.     second->setGeometry(100, 40, 90, 25);  
    313.     second->show();  
    314.     QLabel *third = new QLabel(passwordWidget);  
    315.     third->setText(tr("make sure safe,please alter password regularly"));  
    316.     third->setGeometry(100, 70, 300, 30);  
    317.     third->show();  
    318.     QPushButton *forth = new QPushButton(passwordWidget);  
    319.     forth->setStyleSheet("QPushButton{border:1px solid lightgray;background:rgb(230,230,230);border-radius:3px;}"  
    320.                           "QPushButton:hover{border-color:green;color:#bee7fd;}");  
    321.     forth->setFocusPolicy(Qt::NoFocus);  
    322.     forth->setText(tr("alter password"));  
    323.     forth->setGeometry(100, 100, 60, 25);  
    324.     forth->show();  
    325.     QPushButton *forths = new QPushButton(passwordWidget);  
    326.     forths->setStyleSheet("QPushButton{border:1px solid lightgray;background:rgb(230,230,230);border-radius:3px;}"  
    327.                           "QPushButton:hover{border-color:green;color:#bee7fd;}");  
    328.     forths->setFocusPolicy(Qt::NoFocus);  
    329.     forths->setText(tr("apply for protecting password"));  
    330.     forths->setGeometry(170, 100, 90, 25);  
    331.     forths->show();  
    332.     QLabel *five = new QLabel(passwordWidget);  
    333.     five->setText(tr("some servers will use special password"));  
    334.     five->setGeometry(100, 130, 300, 30);  
    335.     five->show();  
    336.     QPushButton *sixth = new QPushButton(passwordWidget);  
    337.     sixth->setStyleSheet("QPushButton{border:1px solid lightgray;background:rgb(240,240,240);border-radius:3px;}"  
    338.                           "QPushButton:hover{border-color:green;color:#bee7fd;}");  
    339.     sixth->setFocusPolicy(Qt::NoFocus);  
    340.     sixth->setText(tr("manager special password"));  
    341.     sixth->setGeometry(100, 160, 90, 25);  
    342.     sixth->show();  
    343.     passwordWidget->setGeometry(0, 0, 555, 190);  
    344.     /************qqlockWidget**************/  
    345.     qqlockWidget = new QWidget(widgetScrollArea);  
    346.     qqlockWidget->show();  
    347.     QLabel *qlabel = new QLabel(qqlockWidget);  
    348.     qlabel->setText(tr("qqlock:"));  
    349.     qlabel->setGeometry(30, 10, 50, 30);  
    350.     qlabel->show();  
    351.     QRadioButton *firstRadio = new QRadioButton(qqlockWidget);  
    352.     firstRadio->setFocusPolicy(Qt::NoFocus);  
    353.     firstRadio->setChecked(true);  
    354.     firstRadio->setText(tr("qq password is used to unlock"));  
    355.     firstRadio->setGeometry(100, 10, 300, 30);  
    356.     firstRadio->show();  
    357.     QRadioButton *secondRadio = new QRadioButton(qqlockWidget);  
    358.     secondRadio->setFocusPolicy(Qt::NoFocus);  
    359.     secondRadio->setText(tr("special password is used to unlock"));  
    360.     secondRadio->setGeometry(100, 40, 300, 30);  
    361.     secondRadio->show();  
    362.     qqlockWidget->setGeometry(0, 190, 555, 70);  
    363.     widgetScrollArea->resize(555, 190+70+360);  
    364. }  
    365.   
    366. void SettingPanel::initTabThreeWidget()  
    367. {  
    368.     /************loginWidget**************/  
    369.     spaceWidget = new QWidget(widgetScrollArea);  
    370.     spaceWidget->show();  
    371.     QLabel *label = new QLabel(spaceWidget);  
    372.     label->setText(tr("spacepermission:"));  
    373.     label->setGeometry(30, 10, 60, 30);  
    374.     label->show();  
    375.     QCheckBox *first = new QCheckBox(spaceWidget);  
    376.     first->setFocusPolicy(Qt::NoFocus);  
    377.     first->setChecked(true);  
    378.     first->setText(tr("newly log and photos display on qq"));  
    379.     first->setGeometry(100, 10, 300, 30);  
    380.     first->show();  
    381.     QCheckBox *second = new QCheckBox(spaceWidget);  
    382.     second->setFocusPolicy(Qt::NoFocus);  
    383.     second->setText(tr("update sign when updating chat"));  
    384.     second->setGeometry(100, 40, 300, 30);  
    385.     second->show();  
    386.     QCheckBox *third = new QCheckBox(spaceWidget);  
    387.     third->setFocusPolicy(Qt::NoFocus);  
    388.     third->setChecked(true);  
    389.     third->setText(tr("notice you when you log is republished"));  
    390.     third->setGeometry(100, 70, 300, 30);  
    391.     third->show();  
    392.     QCheckBox *forth = new QCheckBox(spaceWidget);  
    393.     forth->setFocusPolicy(Qt::NoFocus);  
    394.     forth->setChecked(true);  
    395.     forth->setText(tr("notice you when you have new tips"));  
    396.     forth->setGeometry(100, 100, 300, 30);  
    397.     forth->show();  
    398.     QCheckBox *five = new QCheckBox(spaceWidget);  
    399.     five->setFocusPolicy(Qt::NoFocus);  
    400.     five->setChecked(true);  
    401.     five->setText(tr("display your newly application"));  
    402.     five->setGeometry(100, 130, 300, 30);  
    403.     five->show();  
    404.     spaceWidget->setGeometry(0, 0, 555, 160);  
    405.     widgetScrollArea->resize(555, 160);  
    406. }  
    407.   
    408. void SettingPanel::slotCurrentChanged(int index)  
    409. {  
    410.     contentsWidget->clear();  
    411.     scrollArea->takeWidget();  
    412.     loginWidget = NULL;  
    413.     panelWidget = NULL;  
    414.     statusWidget = NULL;  
    415.     sessionWidget = NULL;  
    416.     passwordWidget = NULL;  
    417.     qqlockWidget = NULL;  
    418.     spaceWidget = NULL;  
    419.   
    420.     widgetScrollArea = new QWidget(this);  
    421.     widgetScrollArea->setStyleSheet("background:transparent;");  
    422.     scrollArea->setWidget(widgetScrollArea);  
    423.     if (index == 0) {  
    424.         contentsWidget->addItem(tr("login"));  
    425.         contentsWidget->addItem(tr("mainpanel"));  
    426.         contentsWidget->addItem(tr("status"));  
    427.         contentsWidget->addItem(tr("session"));  
    428.         initTabOneWidget();  
    429.     }  
    430.     else if (index == 1){  
    431.         contentsWidget->addItem(tr("password"));  
    432.         contentsWidget->addItem(tr("qqlock"));  
    433.         initTabTwoWidget();  
    434.     }  
    435.     else if (index == 2) {  
    436.         contentsWidget->addItem(tr("spacepermission"));  
    437.         initTabThreeWidget();  
    438.     }  
    439.     if (contentsWidget->count() > 0) {  
    440.         contentsWidget->setCurrentRow(0);  
    441.     }  
    442. }  
    443.   
    444. void SettingPanel::slotItemClicked(QListWidgetItem *item)  
    445. {  
    446.     signFlag = true ;  
    447.     QString itemText = item->text();  
    448.     QPoint widgetPos;  
    449.     if (tabWidget->currentIndex() == 0) {  
    450.         if (itemText == tr("mainpanel")) {  
    451.             widgetPos = panelWidget->pos();  
    452.             vertical_scrollBar->setSliderPosition(widgetPos.y());  
    453.         }  
    454.         else if (itemText == tr("status")) {  
    455.             widgetPos = statusWidget->pos();  
    456.             vertical_scrollBar->setValue(widgetPos.y());  
    457.         }  
    458.         else if (itemText == tr("session")) {  
    459.             widgetPos = sessionWidget->pos();  
    460.             scrollArea->verticalScrollBar()->setValue(widgetPos.y());  
    461.         }  
    462.         else if (itemText == tr("login")) {  
    463.             widgetPos = loginWidget->pos();  
    464.             vertical_scrollBar->setValue(widgetPos.y());  
    465.         }  
    466.     }  
    467.     else if (tabWidget->currentIndex() == 1) {  
    468.         if (itemText == tr("password")) {  
    469.             widgetPos = passwordWidget->pos();  
    470.             vertical_scrollBar->setSliderPosition(widgetPos.y());  
    471.         }  
    472.         else if (itemText == tr("qqlock")) {  
    473.             widgetPos = qqlockWidget->pos();  
    474.             vertical_scrollBar->setValue(widgetPos.y());  
    475.         }  
    476.     }  
    477. }  
    478.   
    479. void SettingPanel::slotValueChanged(int value)  
    480. {  
    481.     if (tabWidget->currentIndex() == 0) {  
    482.         QListWidgetItem *loginItem = contentsWidget->item(0);  
    483.         QListWidgetItem *panelItem = contentsWidget->item(1);  
    484.         QListWidgetItem *statusItem = contentsWidget->item(2);  
    485.         QListWidgetItem *sessionItem = contentsWidget->item(3);  
    486.         if (!signFlag) {  
    487.             if (loginWidget && panelWidget && statusWidget && sessionWidget) {  
    488.                 if (!loginWidget->visibleRegion().isEmpty()) {  
    489.                     loginItem->setSelected(true);  
    490.                     return;  
    491.                 }  
    492.                 else {  
    493.                     loginItem->setSelected(false);  
    494.                 }  
    495.                 if (!panelWidget->visibleRegion().isEmpty()) {  
    496.                     panelItem->setSelected(true);  
    497.                     return;  
    498.                 }  
    499.                 else {  
    500.                     panelItem->setSelected(false);  
    501.                 }  
    502.                 if (!statusWidget->visibleRegion().isEmpty()) {  
    503.                     statusItem->setSelected(true);  
    504.                     return;  
    505.                 }  
    506.                 else {  
    507.                     statusItem->setSelected(false);  
    508.                 }  
    509.                 if (!sessionWidget->visibleRegion().isEmpty()) {  
    510.                     sessionItem->setSelected(true);  
    511.                     return;  
    512.                 }  
    513.                 else {  
    514.                     sessionItem->setSelected(false);  
    515.                 }  
    516.             }  
    517.         }  
    518.     }  
    519.     else if (tabWidget->currentIndex() == 1) {  
    520.         QListWidgetItem *passwordItem = contentsWidget->item(0);  
    521.         QListWidgetItem *qqlockItem = contentsWidget->item(1);  
    522.         if (!signFlag) {  
    523.             if (passwordWidget && qqlockWidget) {  
    524.                 if (!passwordWidget->visibleRegion().isEmpty()) {  
    525.                     passwordItem->setSelected(true);  
    526.                     return;  
    527.                 }  
    528.                 else {  
    529.                     passwordItem->setSelected(false);  
    530.                 }  
    531.                 if (!qqlockWidget->visibleRegion().isEmpty()) {  
    532.                     qqlockItem->setSelected(true);  
    533.                     return;  
    534.                 }  
    535.                 else {  
    536.                     qqlockItem->setSelected(false);  
    537.                 }  
    538.             }  
    539.         }  
    540.     }  
    541.     signFlag = false;  
    542. }  
    543.   
    544. void SettingPanel::paintEvent(QPaintEvent *event)  
    545. {  
    546.     QPainter painter(this);  
    547.     painter.setPen(Qt::NoPen);  
    548.     painter.setBrush(QColor("#F0F0F0"));  
    549.     painter.drawRect(this->rect());  
    550.     painter.setBrush(QColor("#069dd5"));  
    551.     painter.drawRect(rectMove);  
    552.     painter.setPen(QColor("#D7D7D7"));  
    553.     painter.drawLine(0, 70, this->width(), 70);  
    554.     QWidget::paintEvent(event);  
    555. }  
    556.   
    557. void SettingPanel::mousePressEvent(QMouseEvent *event)  
    558. {  
    559.     if(event->button() == Qt::LeftButton && rectMove.contains(event->pos())) {  
    560.         mousePress = true;  
    561.     }  
    562.     movePoint = event->globalPos() - pos();  
    563.     QWidget::mousePressEvent(event);  
    564. }  
    565.   
    566. void SettingPanel::mouseReleaseEvent(QMouseEvent *event)  
    567. {  
    568.     mousePress = false;  
    569.     QWidget::mouseReleaseEvent(event);  
    570. }  
    571.   
    572. void SettingPanel::mouseMoveEvent(QMouseEvent *event)  
    573. {  
    574.     if(mousePress) {  
    575.         QPoint movePos = event->globalPos();  
    576.         move(movePos - movePoint);  
    577.     }  
    578.     QWidget::mouseMoveEvent(event);  
    579. }  

    三、总结

    (1)相应的代码已上传到csdn:http://download.csdn.net/detail/zuoyuexian/9818104 。
    (2)未设计功能,界面还有很多不满意的地方,应用到项目中可以自行调整。
    (3)若有建议,请留言,在此先感谢!



    展开全文
  • 一、 登录https://connect.qq.com/manage.html 申请appid, appkey ,创建网站应用 (回调地址写http://你的域名/include/qqlogin/qq_callback.php) 二、 登录你的mymps网站后台,选择扩展 –》 其它扩展 -》第三...
  • 修改文件路径:根目录/app/c/oauth_login.php中   QQ登录模块信息 修改APP ID:APP Key:以及回调地址即可。   对接效果图:   源码相关介绍:https://www.eiocms.com/product/view54.html 易欧网...
  • 新版本QQ系统设置的方式就很好,左边和右边分开,左边导航到右边,右边也能直接连续地向下拖动。右边拖动的时候左边导航状态也跟着切换。 [img=...
  • /* 设置是否循环 */ playerMusic.setLooping(true); try { playerMusic.prepare(); } catch (IllegalStateException e) { e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); ...
  • Qt浅谈之三十五仿QQ设置面板功能

    千次阅读 2015-12-07 09:50:29
    模仿QQ系统设置的面板:上面的导航切换选项卡使用QTabWidget,左侧导航使用QListWidget,右侧的显示区域使用QScrollArea控件;主要使用垂直滚动条的valueChanged事件和QListWidget的itemClicked事件;通过调用...
  • 现在以支持 本机信息,系统相关,QQ批量登录,定时设置,在线搜索 本机信息 获取计算机名,当前用户名,本机IP地址 本次系统启动时间,本次启动系统运行时长 上次系统启动时间,上次系统关机时间 系统累计运行时长,系统...
  • 1.把QQ隐藏在屏幕顶端 把QQ主窗体拖到屏幕上边边缘即可 ...注意:如果不能隐藏需要看下QQ系统设置常规里的"停靠在桌面边缘时自动隐藏"是否勾选.需要把这个勾上. 转载于:https://blog.51cto.com/ucion/720874...
  • 现在的孩子们很小就开始接触电脑,看网页、聊QQ什么都会,孩子沉迷网络不爱学习是让很多家长都非常烦恼的事情!而且现在网络骗子非常多,担心孩子跟陌生人聊天上当受骗!有些顽皮的孩子还会趁爸妈不在家的时候,偷偷...
  • 2.在设置->QQ->定位处关闭的单个软件的定位功能 ``` if ([CLLocationManager locationServicesEnabled]) { if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied) {
  • Qt 设置系统托盘

    2020-05-18 09:28:34
    Qt 设置系统托盘 开发工具与关键技术:QtCreator、C++ 作者:何任贤 撰写时间:2019年05月15日 Qt实现系统托盘,我们知道大多数软件都是可以在系统托盘中放着,例如QQ之类的软件。那么系统托盘如何实现。 这是系统...
  • 易语言简单系统设置学习例程源码,简单系统设置学习例程,登陆QQ
  • 系统环境变量对整个系统有效 用户环境变量只对当前用户有效 方法一: 1、首先选中桌面此电脑图标,右键选择属性。...2、选择高级系统设置: 打开后如下: 3、点击环境变量后可以对环境变量进行设置
  • 界面效果: [img=https://img-bbs.csdn.net/upload/201403/28/1395972107_47089.png][/img][img=https://img-bbs.csdn.net/upload/201403/28/1395972122_650551.png][/img][img=...[/img] 源代码: ...
  • 系统设置铃声从mk到显示

    千次阅读 2016-07-11 14:17:45
    系统默认来电铃声 作者: wangqx 日 期: 2016.6.1 QQ群 238696947...本文内容以xxx(PROJECTXXX)项目,Android6.0为例,主要介绍默认铃声从在mk文件中添加ro.config.ringtone字段到系统设置中声音和振动项中手机铃声
  • 对于QQ互联配置,前面已经写过一篇,在公告里面,这种主要是讲注意地方 后台填写完成后,如果发现pc端还是没有登录成功,注意根目录下的plugin文件夹是否给了777权限,级联子目录,读写都要 重点还是这个文件...
  • 使用T-Code TU02 或者使用SA38运行Report RSPFPAR,可以获得系统参数设置列表。 这些参数都是可以在RZ10或者手动修改系统参数可以使用的。 专注于企业信息化,最近对股票数据分析较为感兴趣,可免费分享股票个股...
  • 倒是在百度经验找到一篇设置的,但是他那个是15年的,QQ版本比较老,新版QQ位置不同了,费了半天才找到设置的地方,怕是有其他人可能也找不到,于是记录一下,方便各位查看。 正文 第一步 找到偏好设置 第二步 设置...
  • MainActivity布局,设置一个默认图片,模拟QQ头像&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,063
精华内容 2,425
关键字:

qq系统设置