pyqt5 学习总结

(1)    无边框化设计

self.setWindowFlags(Qt.FramelessWindowHint)

这句话加在self.setupUi(self)
下面

(2)    设置style 加在__init__(self)内

self.style = """ 
    QPushButton{
        color: #003300;
        border-top-right-radius: 4px;
        border-bottom-right-radius: 4px;
        background-color: #CCCC99;
        font-size: 15px;
        font-family: '';
        }
    QPushButton#pushButton{;
        background-color: blue;
    }
    QPushButton:Hover{
        background-color: #009966;
        color: white;
        }
    QTextEdit{
        border-top-left-radius: 4px;
        border-bottom-left-radius: 4px;
        background-color: #CCCCCC;
        selection-color: #CCCCCC;
        selection-background-color: #222222;
        color: black;
        }
    QPushButton:pressed {background-color: ;border-style: inset;} 
            """
self.setStyleSheet(self.style)

(3)    长按按钮触发

     setAutoRepeat()设置button是否在用户长按按钮的时候可以自动重复执行。

self.pushButton.setIcon(QIcon("C://alolf_train//icons//delete.gif"))
self.pushButton.setAutoRepeat(True)

(4)    图片填满button

self.pushButton.setFixedSize(QPixmap("C://alolf_train//icons//GantryKeyUp128.png").size());
self.pushButton.setStyleSheet("border-image:url(C://alolf_train//icons//GantryKeyUp128.png)");

(5)    按钮图片状态变化

self.pushButton.setStyleSheet("QPushButton{border-image:url(C://alolf_train//icons//GantryKeyUp128.png);}"
                              "QPushButton:hover{border-image: url(C://alolf_train//icons//GantryKeyUp128_Lit.png);}"
                              "QPushButton:pressed{border-image: url(C://alolf_train//icons//GantryKeyUp128_Pod.png);}"
                              );

(6)    不规则按钮实现  空白区域,按了无反应

pixmap_1 = QPixmap('C://alolf_train//icons//EmergencyStop.gif')
self.pushButton_1.setMask(pixmap_1.mask())

(7)    打包成exe文件

安装pyinstaller  python/Scripts 目录下 pip.exe installPyInstaller

在Scripts目录下,

pyinstaller -F-w -i ico的路径.py文件路径

注意图片资源的打包:新建一个后缀为.qrc的资源文件,与icons文件夹同一目录下,里面的内容如下:

    

    

         icons/Add.png

    

    

然后去文件目录下执行 pyrcc5 -oicons_qr.py icons.qrc 命令,最后在代码中 import icons_qr.py,并且修改下图片路径,一定要在路径前面加上冒号:。

import icons_qr.py

self.DownButton.setFixedSize(QPixmap(":/icons/GantryLeftDown128.png").size());
self.DownButton.setStyleSheet("QPushButton{border-image:url(:/icons/GantryLeftDown128.png);}"

(8)    ubuntu下打包生成可执行文件

先安装 pyinstaller   sudopip install pyinstaller

进入py文件的目录 pyinstaller xx.py

在dist目录下可以找到执行文件。 创建连接到桌面 可以打开

参考:http://blog.csdn.net/qqqqqqqqqq1qqqqqqqqq/article/details/46279963

(9)    去掉按钮等控件的虚线框(解决linux系统中按下button后会用阴影,方框) https://blog.csdn.net/caoshangpa/article/details/51771696

self.ExitButton.setStyleSheet("QPushButton{border-image:url(:/icons/Exit64.png);}"

                 "QPushButton{outline:none;}"

                    )


你可能感兴趣的:(pyqt5 学习总结)