[Pyqt5.5 for Python3.4.3 学习笔记(1)]-->QDialog对话框创建一个窗口程序

来源:赵克立博客 分类: Python 标签:PythonPyQt5发布时间:2016-06-01 21:41:26最后更新:2016-06-06 22:38:54浏览:6995
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2016-06-06 22:38:54
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
# -*- coding: utf-8 -*-
"""第一个程序"""
#from PyQt5 import QtWidgets
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QColor
from PyQt5.QtCore import *
import sys
class myDialog(QDialog):
    """docstring for myDialog"""
    def __init__(self, arg=None):
        super(myDialog, self).__init__(arg)
        self.setWindowTitle("first window")
        
        #设置对话框为黑色背景
        #color = QColor(0, 0, 0)
        #self.setStyleSheet('QDialog{background-color:%s}'%color.name())
        self.resize(400,300);
app = QApplication(sys.argv)
dlg = myDialog()
dlg.show()
dlg.exec_()
app.exit()

上面每一句的意思应该很明白啦

下面看下效果

QQ截图20160601214041.png

同时可以设置窗口的最大化最小化关闭按钮是否显示

添加如下代码

self.setWindowFlags(Qt.WindowMaximizeButtonHint|Qt.WindowMinimizeButtonHint|Qt.WindowCloseButtonHint)

效果如图

QQ截图20160602233741.png

可以用的样式有:

Qt.WindowContextHelpButtonHint 像对话框一样,有个问号和关闭按钮
 
Qt.CustomizeWindowHint 标题栏也没有 按钮也没有 在那里出现就站在那里不到,也不能移动和拖到,任务栏右击什么也没有,任务栏窗口名也没有,做流氓软件很好,但是可惜可以从任务管理器里关闭 灰色
 
Qt.WindowTitleHint 也是窗口只有一个关闭按钮
 
Qt.WindowSystemMenuHint 还是一样只有一个关闭按钮
 
Qt.WindowCloseButtonHint 还是一样只有一个关闭按钮
 
Qt.WindowMaximizeButtonHint 一看就知道最小化按钮怎么了。。。原来不可用。。。。
 
Qt.WindowMinimizeButtonHint 还原按钮不可用。。
 
Qt.SubWindow 窗口没有按钮但是有标题栏 任务里什么也看不到
 
Qt.Desktop 没有显示在桌面也没在任务。但是任务管里器里还是有的。。。
 
Qt.SplashScreen 标题栏也没有 按钮也没有 在那里出现就站在那里不到,也不能移动和拖到,任务栏右击什么也没有,任务栏窗口名也没有, 但是可惜可以从任务管理器里关闭 白色
 
Qt.ToolTip 标题栏也没有 按钮也没有 在那里出现就站在那里不到,也不能移动和拖到,任务栏右击什么也没有,任务栏窗口名也没有, 但是可惜可以从任务管理器里关闭 白色 有个好外,顶层窗口 一直都是在最上面..
 
Qt.Tool 有一个小小的关闭按钮,但是好像不能真正的关闭。。。。


上面样式可以组合使用

设置窗口的背景色

color = QColor(0, 0, 0)
self.setStyleSheet('QDialog{background-color:%s}'%color.name())

也可以在应用程序启动的时候设置样式

app.setStyleSheet('QDialog{background:black;}')

这里是设置全局的样式的也可以在里面写上按钮编辑器等的初始化样式如下

#全局设置QPushButton的背景样式
app.setStyleSheet('''
    QPushButton{
        background-color: #0f0 ;
        height:30px;
        border-style: outset;
        border-width: 2px;
        border-radius: 10px;
        border-color: beige;
        font: bold 14px;
        min-width: 10em;
        padding: 6px;
    }
    QPushButton:hover {
    background-color: yellow;
    border-style: inset;
    }
    QPushButton:pressed {
    background-color: rgb(224, 0, 0);
    border-style: inset;
    }
    QPushButton#cancel{
        background-color: red ;
    }
    ''')

这样设置后程序启动后对话框中的QPushButton就会有默认的样式啦,效果请看以下链接

http://www.zhaokeli.com/article/7977.html

设置窗口透明度

self.setWindowOpacity(0.5)

QQ截图20160602234656.png


微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python