增加导航按钮效果

This commit is contained in:
shuaikangzhou 2023-11-12 13:15:47 +08:00
parent 531fda20d5
commit 20b4b91366
7 changed files with 142 additions and 42 deletions

View File

@ -4,15 +4,14 @@
<option name="autoReloadType" value="SELECTIVE" /> <option name="autoReloadType" value="SELECTIVE" />
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="84e65474-7da9-466d-baf3-cc88dde3ffdd" name="变更" comment="上传html模板"> <list default="true" id="84e65474-7da9-466d-baf3-cc88dde3ffdd" name="变更" comment="增加几个图标">
<change afterPath="$PROJECT_DIR$/app/Ui/MyComponents/prompt_bar.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/Ui/Icon.py" beforeDir="false" afterPath="$PROJECT_DIR$/app/Ui/Icon.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/Ui/contact/contactInfo.py" beforeDir="false" afterPath="$PROJECT_DIR$/app/Ui/contact/contactInfo.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/Ui/mainview.py" beforeDir="false" afterPath="$PROJECT_DIR$/app/Ui/mainview.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/Ui/mainview.py" beforeDir="false" afterPath="$PROJECT_DIR$/app/Ui/mainview.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/Ui/mainwindow.py" beforeDir="false" afterPath="$PROJECT_DIR$/app/Ui/mainwindow.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/Ui/mainwindow.py" beforeDir="false" afterPath="$PROJECT_DIR$/app/Ui/mainwindow.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/Ui/mainwindow.ui" beforeDir="false" afterPath="$PROJECT_DIR$/app/Ui/mainwindow.ui" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/Ui/mainwindow.ui" beforeDir="false" afterPath="$PROJECT_DIR$/app/Ui/mainwindow.ui" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/data/html/1.html" beforeDir="false" afterPath="$PROJECT_DIR$/app/data/html/1.html" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/config.py" beforeDir="false" afterPath="$PROJECT_DIR$/app/config.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/data/html/2.html" beforeDir="false" afterPath="$PROJECT_DIR$/app/data/html/2.html" afterDir="false" /> <change beforePath="$PROJECT_DIR$/readme.md" beforeDir="false" afterPath="$PROJECT_DIR$/readme.md" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -542,7 +541,14 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1699700323644</updated> <updated>1699700323644</updated>
</task> </task>
<option name="localTasksCounter" value="49" /> <task id="LOCAL-00049" summary="增加几个图标">
<created>1699702527136</created>
<option name="number" value="00049" />
<option name="presentableId" value="LOCAL-00049" />
<option name="project" value="LOCAL" />
<updated>1699702527136</updated>
</task>
<option name="localTasksCounter" value="50" />
<servers /> <servers />
</component> </component>
<component name="UnknownFeatures"> <component name="UnknownFeatures">
@ -590,7 +596,6 @@
<MESSAGE value="match语法说明" /> <MESSAGE value="match语法说明" />
<MESSAGE value="增加群二维码" /> <MESSAGE value="增加群二维码" />
<MESSAGE value="支持导出csv格式聊天记录" /> <MESSAGE value="支持导出csv格式聊天记录" />
<MESSAGE value="增加几个图标" />
<MESSAGE value="重构一些class删除一些不必要的文件" /> <MESSAGE value="重构一些class删除一些不必要的文件" />
<MESSAGE value="用stackedWidget实现导航栏" /> <MESSAGE value="用stackedWidget实现导航栏" />
<MESSAGE value="修复部分bug" /> <MESSAGE value="修复部分bug" />
@ -603,7 +608,8 @@
<MESSAGE value="修改导入路径方便打包成exe" /> <MESSAGE value="修改导入路径方便打包成exe" />
<MESSAGE value="修改部分UI" /> <MESSAGE value="修改部分UI" />
<MESSAGE value="上传html模板" /> <MESSAGE value="上传html模板" />
<option name="LAST_COMMIT_MESSAGE" value="上传html模板" /> <MESSAGE value="增加几个图标" />
<option name="LAST_COMMIT_MESSAGE" value="增加几个图标" />
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="true" /> <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="true" />
<option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="true" /> <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="true" />
</component> </component>
@ -620,6 +626,11 @@
<line>22</line> <line>22</line>
<option name="timeStamp" value="8" /> <option name="timeStamp" value="8" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
<url>file://$PROJECT_DIR$/app/Ui/mainview.py</url>
<line>10</line>
<option name="timeStamp" value="12" />
</line-breakpoint>
</breakpoints> </breakpoints>
<default-breakpoints> <default-breakpoints>
<breakpoint type="python-exception"> <breakpoint type="python-exception">

View File

@ -0,0 +1,39 @@
from PyQt5 import QtGui
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class PromptBar(QLabel):
def __init__(self, parent=None):
super().__init__(parent)
def paintEvent(self, e): # 绘图事件
qp = QPainter()
qp.begin(self)
self.drawRectangles1(qp) # 绘制线条矩形
self.drawRectangles2(qp) # 绘制填充矩形
self.drawRectangles3(qp) # 绘制线条+填充矩形
self.drawRectangles4(qp) # 绘制线条矩形2
qp.end()
def drawRectangles1(self, qp): # 绘制填充矩形
qp.setPen(QPen(Qt.black, 2, Qt.SolidLine)) # 颜色、线宽、线性
qp.drawRect(*self.data)
def drawRectangles2(self, qp): # 绘制填充矩形
qp.setPen(QPen(Qt.black, 2, Qt.NoPen))
qp.setBrush(QColor(200, 0, 0))
qp.drawRect(220, 15, 200, 100)
def drawRectangles3(self, qp): # 绘制线条+填充矩形
qp.setPen(QPen(Qt.black, 2, Qt.SolidLine))
qp.setBrush(QColor(200, 0, 0))
qp.drawRect(430, 15, 200, 100)
def drawRectangles4(self, qp): # 绘制线条矩形2
path = QtGui.QPainterPath()
qp.setPen(QPen(Qt.blue, 2, Qt.SolidLine))
qp.setBrush(QColor(0, 0, 0, 0)) # 设置画刷颜色透明
path.addRect(100, 200, 200, 100)
qp.drawPath(path)

View File

@ -12,10 +12,11 @@ from PyQt5.QtCore import *
from PyQt5.QtGui import * from PyQt5.QtGui import *
from PyQt5.QtWidgets import * from PyQt5.QtWidgets import *
from app import person from app import person, config
from app.DataBase import * from app.DataBase import *
from app.Ui import mainwindow from app.Ui import mainwindow
from app.Ui.Icon import Icon from app.Ui.Icon import Icon
from app.Ui.MyComponents.prompt_bar import PromptBar
from app.Ui.chat import chat from app.Ui.chat import chat
from app.Ui.contact import contact from app.Ui.contact import contact
@ -58,6 +59,8 @@ class MainWinController(QMainWindow, mainwindow.Ui_MainWindow):
self.init_ui() self.init_ui()
self.menubar.setVisible(False) self.menubar.setVisible(False)
self.statusbar.setVisible(False) self.statusbar.setVisible(False)
self.prompt_bar = PromptBar(self)
self.chat_view()
# self.state_lable = QLabel(self) # self.state_lable = QLabel(self)
# self.state_lable.raise_() # self.state_lable.raise_()
# pixmap = QPixmap('./app/data/icons/default_avatar.svg').scaled(32, 32) # 按指定路径找到图片 # pixmap = QPixmap('./app/data/icons/default_avatar.svg').scaled(32, 32) # 按指定路径找到图片
@ -96,10 +99,15 @@ class MainWinController(QMainWindow, mainwindow.Ui_MainWindow):
""" """
self.now_btn = self.btn_chat self.now_btn = self.btn_chat
self.now_btn.setStyleSheet( self.now_btn.setStyleSheet(
"QPushButton {background-color: rgb(198,198,198);}") "QPushButton {background-color: rgb(198,198,198);border:none;}")
if self.last_btn and self.last_btn != self.now_btn: if self.last_btn and self.last_btn != self.now_btn:
self.last_btn.setStyleSheet("QPushButton {background-color: rgb(240,240,240);}" self.last_btn.setStyleSheet(
"QPushButton:hover{background-color: rgb(209,209,209);}\n") "QPushButton {"
"background-color: rgb(240,240,240);"
"border:none;"
"}"
"QPushButton:hover{background-color: rgb(209,209,209);}\n"
)
self.last_btn = self.btn_chat self.last_btn = self.btn_chat
# self.state_lable.setGeometry(20, 300, 32, 32) # self.state_lable.setGeometry(20, 300, 32, 32)
self.stackedWidget.setCurrentIndex(0) self.stackedWidget.setCurrentIndex(0)
@ -111,9 +119,9 @@ class MainWinController(QMainWindow, mainwindow.Ui_MainWindow):
""" """
self.now_btn = self.btn_contact self.now_btn = self.btn_contact
self.now_btn.setStyleSheet( self.now_btn.setStyleSheet(
"QPushButton {background-color: rgb(198,198,198);}") "QPushButton {background-color: rgb(198,198,198);border:none;}")
if self.last_btn and self.last_btn != self.now_btn: if self.last_btn and self.last_btn != self.now_btn:
self.last_btn.setStyleSheet("QPushButton {background-color: rgb(240,240,240);}" self.last_btn.setStyleSheet("QPushButton {background-color: rgb(240,240,240);border:none;}"
"QPushButton:hover{background-color: rgb(209,209,209);}\n") "QPushButton:hover{background-color: rgb(209,209,209);}\n")
self.last_btn = self.btn_contact self.last_btn = self.btn_contact
# geometry = self.btn_chat.geometry() # geometry = self.btn_chat.geometry()
@ -137,5 +145,7 @@ class MainWinController(QMainWindow, mainwindow.Ui_MainWindow):
关于 关于
""" """
QMessageBox.about(self, "关于", QMessageBox.about(self, "关于",
"关于作者\n姓名:周帅康\n邮箱lc863854@mail.nwpu.edu.cn" f"版本:{config.version}\n"
f"QQ交流群:{config.contact}\n"
"地址https://github.com/LC044/WeChatMsg"
) )

View File

@ -15,6 +15,14 @@ class Ui_MainWindow(object):
def setupUi(self, MainWindow): def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow") MainWindow.setObjectName("MainWindow")
MainWindow.resize(1280, 779) MainWindow.resize(1280, 779)
MainWindow.setStyleSheet("QPushButton {\n"
"background-color: rgb(240,240,240);\n"
"border:none;\n"
"}\n"
"QPushButton:hover{\n"
"background-color: rgb(209,209,209);\n"
"}\n"
" ")
self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget") self.centralwidget.setObjectName("centralwidget")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget) self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget)
@ -40,10 +48,15 @@ class Ui_MainWindow(object):
font = QtGui.QFont() font = QtGui.QFont()
font.setFamily("微软雅黑") font.setFamily("微软雅黑")
self.btn_chat.setFont(font) self.btn_chat.setFont(font)
self.btn_chat.setStyleSheet("QPushButton {background-color: rgb(240,240,240);}\n" self.btn_chat.setStyleSheet("QPushButton {\n"
" QPushButton:hover{background-color: rgb(209,209,209);}\n" "background-color: rgb(240,240,240);\n"
"border:none;\n"
"}\n"
"QPushButton:hover{background-color: rgb(209,209,209);}\n"
" ") " ")
self.btn_chat.setFlat(True) self.btn_chat.setAutoDefault(True)
self.btn_chat.setDefault(False)
self.btn_chat.setFlat(False)
self.btn_chat.setObjectName("btn_chat") self.btn_chat.setObjectName("btn_chat")
self.verticalLayout_2.addWidget(self.btn_chat) self.verticalLayout_2.addWidget(self.btn_chat)
self.btn_contact = QtWidgets.QPushButton(self.verticalLayoutWidget) self.btn_contact = QtWidgets.QPushButton(self.verticalLayoutWidget)
@ -51,10 +64,16 @@ class Ui_MainWindow(object):
font = QtGui.QFont() font = QtGui.QFont()
font.setFamily("微软雅黑") font.setFamily("微软雅黑")
self.btn_contact.setFont(font) self.btn_contact.setFont(font)
self.btn_contact.setStyleSheet("QPushButton {background-color: rgb(240,240,240);}\n" self.btn_contact.setStyleSheet("QPushButton {\n"
" QPushButton:hover{background-color: rgb(209,209,209);}\n" "background-color: rgb(240,240,240);\n"
"border:none;\n"
"}\n"
"QPushButton:hover{\n"
"background-color: rgb(209,209,209);\n"
"}\n"
" ") " ")
self.btn_contact.setFlat(True) self.btn_contact.setDefault(True)
self.btn_contact.setFlat(False)
self.btn_contact.setObjectName("btn_contact") self.btn_contact.setObjectName("btn_contact")
self.verticalLayout_2.addWidget(self.btn_contact) self.verticalLayout_2.addWidget(self.btn_contact)
self.btn_myinfo = QtWidgets.QPushButton(self.verticalLayoutWidget) self.btn_myinfo = QtWidgets.QPushButton(self.verticalLayoutWidget)
@ -62,10 +81,7 @@ class Ui_MainWindow(object):
font = QtGui.QFont() font = QtGui.QFont()
font.setFamily("微软雅黑") font.setFamily("微软雅黑")
self.btn_myinfo.setFont(font) self.btn_myinfo.setFont(font)
self.btn_myinfo.setStyleSheet("QPushButton {background-color: rgb(240,240,240);}\n" self.btn_myinfo.setFlat(False)
" QPushButton:hover{background-color: rgb(209,209,209);}\n"
" ")
self.btn_myinfo.setFlat(True)
self.btn_myinfo.setObjectName("btn_myinfo") self.btn_myinfo.setObjectName("btn_myinfo")
self.verticalLayout_2.addWidget(self.btn_myinfo) self.verticalLayout_2.addWidget(self.btn_myinfo)
self.btn_about = QtWidgets.QPushButton(self.verticalLayoutWidget) self.btn_about = QtWidgets.QPushButton(self.verticalLayoutWidget)
@ -76,7 +92,7 @@ class Ui_MainWindow(object):
self.btn_about.setStyleSheet("QPushButton {background-color: rgb(240,240,240);}\n" self.btn_about.setStyleSheet("QPushButton {background-color: rgb(240,240,240);}\n"
" QPushButton:hover{background-color: rgb(209,209,209);}\n" " QPushButton:hover{background-color: rgb(209,209,209);}\n"
" ") " ")
self.btn_about.setFlat(True) self.btn_about.setFlat(False)
self.btn_about.setObjectName("btn_about") self.btn_about.setObjectName("btn_about")
self.verticalLayout_2.addWidget(self.btn_about) self.verticalLayout_2.addWidget(self.btn_about)
self.verticalLayout_2.setStretch(0, 1) self.verticalLayout_2.setStretch(0, 1)

View File

@ -13,6 +13,16 @@
<property name="windowTitle"> <property name="windowTitle">
<string>MainWindow</string> <string>MainWindow</string>
</property> </property>
<property name="styleSheet">
<string notr="true">QPushButton {
background-color: rgb(240,240,240);
border:none;
}
QPushButton:hover{
background-color: rgb(209,209,209);
}
</string>
</property>
<widget class="QWidget" name="centralwidget"> <widget class="QWidget" name="centralwidget">
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing"> <property name="spacing">
@ -80,16 +90,25 @@
</font> </font>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">QPushButton {background-color: rgb(240,240,240);} <string notr="true">QPushButton {
background-color: rgb(240,240,240);
border:none;
}
QPushButton:hover{background-color: rgb(209,209,209);} QPushButton:hover{background-color: rgb(209,209,209);}
</string> </string>
</property> </property>
<property name="text"> <property name="text">
<string>聊天</string> <string>聊天</string>
</property> </property>
<property name="flat"> <property name="autoDefault">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="default">
<bool>false</bool>
</property>
<property name="flat">
<bool>false</bool>
</property>
</widget> </widget>
</item> </item>
<item> <item>
@ -106,16 +125,24 @@
</font> </font>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">QPushButton {background-color: rgb(240,240,240);} <string notr="true">QPushButton {
QPushButton:hover{background-color: rgb(209,209,209);} background-color: rgb(240,240,240);
border:none;
}
QPushButton:hover{
background-color: rgb(209,209,209);
}
</string> </string>
</property> </property>
<property name="text"> <property name="text">
<string>好友</string> <string>好友</string>
</property> </property>
<property name="flat"> <property name="default">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="flat">
<bool>false</bool>
</property>
</widget> </widget>
</item> </item>
<item> <item>
@ -131,16 +158,11 @@
<family>微软雅黑</family> <family>微软雅黑</family>
</font> </font>
</property> </property>
<property name="styleSheet">
<string notr="true">QPushButton {background-color: rgb(240,240,240);}
QPushButton:hover{background-color: rgb(209,209,209);}
</string>
</property>
<property name="text"> <property name="text">
<string>我的</string> <string>我的</string>
</property> </property>
<property name="flat"> <property name="flat">
<bool>true</bool> <bool>false</bool>
</property> </property>
</widget> </widget>
</item> </item>
@ -166,7 +188,7 @@
<string>关于</string> <string>关于</string>
</property> </property>
<property name="flat"> <property name="flat">
<bool>true</bool> <bool>false</bool>
</property> </property>
</widget> </widget>
</item> </item>

View File

@ -0,0 +1,2 @@
version = '0.1.1'
contact = '474379264'

View File

@ -28,7 +28,7 @@
为了方便大家交流我新建了一个QQ群💬**474379264** 为了方便大家交流我新建了一个QQ群💬**474379264**
大家有任何诉求或bug可以群里反馈给我 大家有任何想法、建议或bug可以群里反馈给我
<img src="doc/images/qq.jpg" height=480/> <img src="doc/images/qq.jpg" height=480/>
@ -58,11 +58,11 @@
- **上面这两个文件就可以** - **上面这两个文件就可以**
2. 安装依赖库 2. 安装依赖库
python版本3.10 python版本>=3.10
**说明:用到了python3.10的match语法不方便更换python版本的小伙伴可以把match(运行报错的地方)更改为if else** **说明:用到了python3.10的match语法不方便更换python版本的小伙伴可以把match(运行报错的地方)更改为if else**
命令行运行以下代码 命令行运行以下代码**建议使用Pycharm打开项目Pycharm会自动配置好所有东西直接运行main.py即可**
```bash ```bash
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
@ -104,6 +104,6 @@ python main.py
--- ---
> 说明:该项目仅可用于交流学习,禁止任何非法用途,本人不承担任何责任🙄 > 说明:该项目仅可用于交流学习,禁止任何非法用途,创作者不承担任何责任🙄
[![Star History Chart](https://api.star-history.com/svg?repos=LC044/WeChatMsg&type=Date)](https://star-history.com/?utm_source=bestxtools.com#LC044/WeChatMsg&Date) [![Star History Chart](https://api.star-history.com/svg?repos=LC044/WeChatMsg&type=Date)](https://star-history.com/?utm_source=bestxtools.com#LC044/WeChatMsg&Date)