Python 透明背景的QPushButton
如何在QPushButton中实现透明背景 我有一个背景图片,我想使按钮透明 我尝试使用:Python 透明背景的QPushButton,python,pyqt,transparency,pyqt5,qpushbutton,Python,Pyqt,Transparency,Pyqt5,Qpushbutton,如何在QPushButton中实现透明背景 我有一个背景图片,我想使按钮透明 我尝试使用: reg_screen_var.new_account.setStyleSheet("QPushButton {color: #F6F6F6; background: transparent}") 以及: 但我得到的结果是: 我使用的是Ubuntu 16.04 完整代码: from PyQt5.QtWidgets import (QApplication, QWidget, QLabel, QLineE
reg_screen_var.new_account.setStyleSheet("QPushButton {color: #F6F6F6; background: transparent}")
以及:
但我得到的结果是:
我使用的是Ubuntu 16.04
完整代码:
from PyQt5.QtWidgets import (QApplication, QWidget, QLabel, QLineEdit, QPushButton)
from PyQt5.QtGui import (QPixmap, QFont, QMouseEvent)
from PyQt5.QtCore import (Qt, QEvent, pyqtSignal, QCoreApplication, QObject)
import sys
app = QApplication(sys.argv)
root = QWidget()
class RegisterScreenVar():
def __init__(self):
self.drop_logo = QLabel(root)
self.drop_png = QPixmap("images/DropMeLogo.png")
self.login_but = QLabel(root)
self.login_but_img = QPixmap("images/Login_but.png")
self.login_lab = QLabel('Login', root)
self.pas_lab = QLabel('Password', root)
self.login_box = QLineEdit(root)
self.reg_box = QLineEdit(root)
self.new_account = QPushButton("Don't have an account?", root)
reg_screen_var = RegisterScreenVar()
def drop_me():
def register_screen(reg_screen_var, root, app):
# design of register screen
root.resize(1280, 720)
root.move(400, 200)
root.setWindowTitle('Drop_Me')
root.setStyleSheet('background-image: url(images/reg_back.png);')
reg_screen_var.login_but.setPixmap(reg_screen_var.login_but_img)
reg_screen_var.login_but.setAttribute(Qt.WA_TranslucentBackground, True)
reg_screen_var.login_but.move(520, 500)
reg_screen_var.drop_logo.setPixmap(reg_screen_var.drop_png)
reg_screen_var.drop_logo.setAttribute(Qt.WA_TranslucentBackground, True)
reg_screen_var.drop_logo.move(370, 0)
reg_screen_var.login_lab.setFont(QFont("OpenSans-Regular", 20, QFont.Bold))
reg_screen_var.login_lab.setStyleSheet('QLabel {color: #F6F6F6}')
reg_screen_var.login_lab.setAttribute(Qt.WA_TranslucentBackground, True)
reg_screen_var.login_lab.move(580, 230)
reg_screen_var.pas_lab.setFont(QFont("OpenSans-Regular", 20, QFont.Bold))
reg_screen_var.pas_lab.setStyleSheet('QLabel {color: #F6F6F6}')
reg_screen_var.pas_lab.setAttribute(Qt.WA_TranslucentBackground, True)
reg_screen_var.pas_lab.move(550, 350)
reg_screen_var.login_box.setFont(QFont("OpenSans-Regular", 18, QFont.Bold))
reg_screen_var.login_box.setStyleSheet('QLineEdit {color:black; width: 300px}')
reg_screen_var.login_box.move(470, 290)
reg_screen_var.reg_box.setFont(QFont("OpenSans-Regular", 18, QFont.Bold))
reg_screen_var.reg_box.setStyleSheet('QLineEdit {color:black; width: 300px}')
reg_screen_var.reg_box.move(470, 400)
reg_screen_var.new_account.setStyleSheet("QPushButton {color: #F6F6F6}")
reg_screen_var.new_account.setFont(QFont("OpenSans-Regular", 10, QFont.Bold))
reg_screen_var.new_account.setAutoFillBackground(True)
reg_screen_var.new_account.move(540, 620)
root.show()
sys.exit(app.exec_())
register_screen(reg_screen_var, root, app)
drop_me()
在Qt Designer Linux(Debian,Ubuntu)中,透明的背景给了我黑色,
因此,Qpush按钮设置的样式表:
border : 0;
background: transparent;
我花了好几个小时去尝试。:) 操作系统的这个问题?解决方案可能并不适用于所有平台。如果您还发布了一个简单的测试脚本,显示如何创建屏幕截图中显示的窗口,这可能会有所帮助。Github.com/geneus003/DropMeI'm commit-real code on Github(),或者您可以在任务中使用完整的代码抱歉,最近我在脚本中添加了问题顶部的两行代码,这对我在archlinux上的工作很好(使用qt-5.10.0和pyqt 5.9.2)。您使用的是什么特定版本的qt和pyqt?
border : 0;
background: transparent;