1 QSplitter實現滑動窗口和懸浮按鈕
軟件應用中需要設計右側滑動窗口,通過一個按鈕來實現窗口的隱藏和顯示,應用場景比如顯示主界面的詳細信息。
(1) 在qt design中添加QSplitter,添加主窗口界面和右側滑動窗口界面。

(2) 在程序中添加浮動按鈕,並在初始化中設置按鈕的屬性
m_btnFold.setParent(this);
m_btnFold.setFocusPolicy(Qt::NoFocus);
m_btnFold.setFixedSize(16, 78);//設置大小
m_btnFold.setIconSize(m_btnFold.size());
m_btnFold.move(this->width() - m_btnFold.width(), (this->height() - m_btnFold.height()) / 2);//設置移動位置
m_btnFold.setStyleSheet("border:0px;border-style:outset;");//設置無邊框
m_btnFold.setFlat(true);//設置扁平按鈕
m_btnFold.setVisible(true);//設置可見
m_btnFold.setStyleSheet("background:url(:/qss/image/unfoldbtn.png);border: 0px;");//設置背景圖片,圖片需先加入工程資源中
m_btnFold.show();
m_btnFold.setToolTip("展開詳情");
(3) 添加按鈕的響應函數
connect(&m_btnFold, SIGNAL(clicked()), this, SLOT(DisplayFoldWidget()));
void SpliterWidget::DisplayFoldWidget()
{
if (m_bfoldOpen == false)
{
m_btnFold.setToolTip("收起詳情");
m_bfoldOpen = true;
ui.alarmDetailWidget->setVisible(true);//展示右側滑動窗口
m_btnFold.move(this->width()-ui.alarmDetailWidget->width() - m_btnFold.width(), (this->height() - m_btnFold.height()) / 2);
m_btnFold.setStyleSheet("background:url(:/qss/image/foldbtn.png);border: 0px;");//重新移動按鈕位置
}
else if (m_bfoldOpen == true)
{
m_btnFold.setToolTip("展開詳情");
m_bfoldOpen = false;
ui.alarmDetailWidget->setVisible(false);//右側滑動窗口
m_btnFold.move(this->width() - m_btnFold.width(), (this->height() - m_btnFold.height()) / 2);
m_btnFold.setStyleSheet("background:url(:/qss/image/unfoldbtn.png);border: 0px;");//改變按鈕圖標方向
}
}
(4) 窗口放大縮小的時候還要重新確定按鈕的位置,所以要重寫大小改變函數。
void resizeEvent(QResizeEvent* size);
void SpliterWidget::resizeEvent(QResizeEvent* size)
{
int winwidth= ui.alarmCenter->window()->width();
QList<int> spliteList;
spliteList.append(winwidth - 320);
spliteList.append(320);//右側固定大小為320
ui.splitterLR->setSizes(spliteList);
m_btnFold.setVisible(true);
m_btnFold.show();
if (m_bfoldOpen==true)//移動按鈕位置
{
m_btnFold.move(this->width()-ui.alarmDetailWidget->width()-m_btnFold.width() , (this->height() - m_btnFold.height()) / 2);
}
else
{
m_btnFold.move(this->width() - m_btnFold.width(), (this->height() - m_btnFold.height()) / 2);
}
}

自己編了一個股票監控軟件,有如下功能,有興趣的朋友可以下載;
(1) 個股監測。監測個股實時變化,可以監測個股大單交易、急速拉升和下降、主力入場和出場、股票最高點和最低點提醒。檢測到最高點、最低點、主力進場點、主力退場點、急速拉升點、急速下跌點,給出語音或者聲音提醒,不用再時刻看着大盤了,給你更多自由的時間;
(2) 大盤監測。監測大盤的走勢,采用上證、深證、創業三大指數的綜合指數作為大盤走勢。並實時監測大盤的最高點和最低點、中間的轉折點。
(3) 股票推薦。還能根據歷史數據長期或短期走勢進行分析,對股市3千多個股票進行分析對比,選出漲勢良好的股票,按照增長速度從大到小排序,推薦給你漲勢良好的股票;
下載地址:
1.0.3版本(修復大盤指數崩潰缺陷)下載地址:
鏈接:https://pan.baidu.com/s/1BJcTp-kdniM7VE9K5Kd3vg 提取碼:003h
更新鏈接:
https://www.cnblogs.com/bclshuai/p/10621613.html
