RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-394002

Mswork6's questions

Martin Hope
Mswork6
Asked: 2024-08-07 16:50:50 +0000 UTC

电话号码的文本字段验证

  • 4

我正在 CUBA 平台框架上编写电话号码文本字段的验证,但遇到了问题。我需要实现即时验证,以便文本字段中不会打印除数字之外的其他字符。到目前为止,我仅设法确保在从文本字段中删除焦点后删除不必要的字符(作为phoneNumberField 字段的事件订阅实现)。

PS:常规赛不要太仔细看,目前比较简单,但是有计划做一个普通的,重点是俄罗斯数字的格式

xml 窗口:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<window xmlns="http://schemas.haulmont.com/cuba/screen/window.xsd"
        caption="msg://employeeEdit.caption"
        focusComponent="form"
        messagesPack="com.company.planner.web.screens.employee">
    <data>
        <instance id="employeeDc"
                  class="com.company.planner.entity.Employee">
            <view extends="_local"/>
            <loader/>
        </instance>
    </data>
    <dialogMode height="600"
                width="800"/>
    <layout expand="editActions" spacing="true">
        <form id="form" dataContainer="employeeDc">
            <column width="350px">
                <textField id="personalNumberField" property="personalNumber"/>
                <textField id="fullNameField" property="fullName"/>
                <textField id="positionField" property="position"/>
                <textField id="departmentField" property="department"/>
                <textField id="emailField" property="email"/>
                <textField id="phoneNumberField" property="phoneNumber"/>
            </column>
        </form>
        <hbox id="editActions" spacing="true">
            <button id="commitAndCloseBtn" action="windowCommitAndClose" caption="msg://commitAndCloseBtn.caption"/>
            <button id="closeBtn" action="windowClose" caption="msg://closeBtn.caption"/>
        </hbox>

    </layout>
</window>

员工本质:

package com.company.planner.entity;

import com.haulmont.chile.core.annotations.NamePattern;
import com.haulmont.cuba.core.entity.StandardEntity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

@Table(name = "PLANNER_EMPLOYEE")
@Entity(name = "planner_Employee")
@NamePattern("%s|personalNumber")
public class Employee extends StandardEntity {
    private static final long serialVersionUID = -4128883590624779007L;

    @NotNull
    @Column(name = "PERSONAL_NUMBER", nullable = false, unique = true)
    @Pattern(message = "В табельном номере должны содержаться только цифры", regexp = "([0-9]+)")
    private String personalNumber;

    @NotNull
    @Column(name = "FULL_NAME", nullable = false)
    private String fullName;

    @NotNull
    @Column(name = "POSITION_", nullable = false)
    private String position;

    @Column(name = "DEPARTMENT", nullable = false)
    @NotNull
    private String department;

    @Column(name = "EMAIL")
    @Email
    private String email;

    @Column(name = "PHONE_NUMBER")
    private String phoneNumber;

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public String getFullName() {
        return fullName;
    }

    public void setFullName(String fullName) {
        this.fullName = fullName;
    }

    public String getPersonalNumber() {
        return personalNumber;
    }

    public void setPersonalNumber(String personalNumber) {
        this.personalNumber = personalNumber;
    }
}

员工编辑控制器:

package com.company.planner.web.screens.employee;

import com.haulmont.cuba.gui.components.HasValue;
import com.haulmont.cuba.gui.components.TextField;
import com.haulmont.cuba.gui.screen.*;
import com.company.planner.entity.Employee;
import org.slf4j.Logger;

import javax.inject.Inject;

@UiController("planner_Employee.edit")
@UiDescriptor("employee-edit.xml")
@EditedEntityContainer("employeeDc")
@LoadDataBeforeShow
public class EmployeeEdit extends StandardEditor<Employee> {

    @Inject
    private TextField<String> phoneNumberField;

    protected static final Logger log = org.slf4j.LoggerFactory.getLogger(EmployeeEdit.class);


    @Subscribe("phoneNumberField")
    protected void onPhoneNumberFieldValueChange(HasValue.ValueChangeEvent<String> event) {
        String newValue = event.getValue();
        log.info(newValue);
        if (newValue != null) {
            String validatedValue = newValue.replaceAll("[^0-9]", "");
            if (!newValue.equals(validatedValue)) {
                log.info("In loop");
                log.info(validatedValue);
                phoneNumberField.setValue(validatedValue);
            }
        }
    }


}
java
  • 2 个回答
  • 34 Views
Martin Hope
Mswork6
Asked: 2023-09-26 20:32:05 +0000 UTC

用于向 PostgreSQL 表添加数据的触发器

  • 6

我有 4 个表(下图):详细信息表、供应商(provider)、供应品(shipment)和项目(project)。 在此输入图像描述

其中每个都包含相同名称的信息。我需要编写一个触发器,如果​​提供商表的评级字段小于 6 并且明细表的价格字段大于 1000,则不允许向发货表添加新的交货。

我尝试编写它,但它显然无法正常工作,跳过无效值。为什么这个触发器不起作用?

触发及触发功能代码:

CREATE TRIGGER provider_control_trigger
BEFORE INSERT ON shipment FOR EACH ROW
EXECUTE PROCEDURE provider_control()

CREATE OR REPLACE FUNCTION provider_control() RETURNS TRIGGER AS $$
DECLARE 
    rating bigint;
    price bigint;
BEGIN
    rating = provider.rating FROM provider WHERE (provider.id = NEW.from_id);
    price = detail.price FROM detail WHERE (detail.id = NEW.detail_id);
    IF rating < 6 AND price >= 1000 THEN
        RAISE EXCEPTION 'Error';
    END IF;
    RETURN NEW;
END;
$$ LANGUAGE plpgsql
база-данных
  • 1 个回答
  • 24 Views
Martin Hope
Mswork6
Asked: 2021-10-13 23:11:11 +0000 UTC

类没有从一个 .py 文件导入到另一个

  • 1

我需要在窗口之间切换。为此,我将另一个文件中的类导入到一个文件中。

但是,如果我导入Qt Designer最初创建的类(我在Qt Designer中制作文件模板),那么我在“附加类”中编写的代码部分,可以说,不起作用。

如果我导入这个“加载项类”,则会发生错误:

类 VocabularyTask4a(QtWidgets.QMainWindow, IdiomsTask_2): TypeError: 无法为基础 QMainWindow, IdiomsTask_2 创建一致的方法解析顺序 (MRO)

如何解决这个问题呢?

主.py:

from PyQt5 import QtCore, QtGui, QtWidgets
from IdiomsTask2 import IdiomsTask_2
import startcontents_rc


class Ui_StartPage(object):
    def setupUi(self, StartPage):
        StartPage.setObjectName("StartPage")
        StartPage.resize(677, 823)
        self.centralwidget = QtWidgets.QWidget(StartPage)
        self.centralwidget.setObjectName("centralwidget")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(0, 0, 681, 831))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(12)
        self.label.setFont(font)
        self.label.setText("")
        self.label.setPixmap(QtGui.QPixmap(":/start/Images/contents/start page1.png"))
        self.label.setScaledContents(True)
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(90, 80, 261, 91))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(14)
        self.label_2.setFont(font)
        self.label_2.setStyleSheet("color:white")
        self.label_2.setAlignment(QtCore.Qt.AlignCenter)
        self.label_2.setObjectName("label_2")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(240, 420, 181, 61))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.pushButton.setFont(font)
        self.pushButton.setStyleSheet("QPushButton {background-color: #1a75ff;\n"
"    border: 1px ;\n"
"    border-radius: 20\n"
" }\n"
"\n"
"QPushButton:pressed  { \n"
"    background-color: #003380;\n"
" }\n"
"")
        self.pushButton.setObjectName("pushButton")
        StartPage.setCentralWidget(self.centralwidget)

        self.retranslateUi(StartPage)
        QtCore.QMetaObject.connectSlotsByName(StartPage)

    def retranslateUi(self, StartPage):
        _translate = QtCore.QCoreApplication.translate
        StartPage.setWindowTitle(_translate("StartPage", "Start Page"))
        self.label_2.setText(_translate("StartPage", "<html><head/><body><p><span style=\" font-weight:600;\">Interactive Student\'s Book</span></p></body></html>"))
        self.pushButton.setText(_translate("StartPage", "Go to contents"))


class VocabularyTask4a(QtWidgets.QMainWindow, IdiomsTask_2):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setupUi(self)


class StartWindow(QtWidgets.QMainWindow, Ui_StartPage):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setupUi(self)
        self.firstwindow = VocabularyTask4a() #Первое окно - окно с вокабуляром (пометка для себя)
        self.pushButton.clicked.connect(self.gotofirstwindow)
        self.firstwindow.pushButton_8.clicked.connect(self.gotomainwindow)

    def gotofirstwindow(self):
        self.firstwindow.show()
        self.hide()

    def gotomainwindow(self):
        self.show()
        self.firstwindow.hide()


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    #StartPage = QtWidgets.QMainWindow()
    #ui = Ui_StartPage()
    #ui.setupUi(StartPage)
    #StartPage.show()
    w = StartWindow()
    w.show()
    sys.exit(app.exec_())

IdiomsTask2.py:

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_IdiomTask_2(object):
    def setupUi(self, IdiomTask_2):
        IdiomTask_2.setObjectName("IdiomTask_2")
        IdiomTask_2.resize(1100, 642)
        font = QtGui.QFont()
        font.setPointSize(9)
        IdiomTask_2.setFont(font)
        IdiomTask_2.setStyleSheet("background-color: #d580ff")
        self.centralwidget = QtWidgets.QWidget(IdiomTask_2)
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(10, 0, 1081, 58))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.label = QtWidgets.QLabel(self.verticalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(12)
        self.label.setFont(font)
        self.label.setStyleSheet("color: #ffffb3")
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName("label")
        self.verticalLayout.addWidget(self.label)
        self.label_2 = QtWidgets.QLabel(self.verticalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(12)
        self.label_2.setFont(font)
        self.label_2.setStyleSheet("color: #aa00ff")
        self.label_2.setAlignment(QtCore.Qt.AlignCenter)
        self.label_2.setObjectName("label_2")
        self.verticalLayout.addWidget(self.label_2)
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(60, 120, 421, 41))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_3.setFont(font)
        self.label_3.setWordWrap(True)
        self.label_3.setObjectName("label_3")
        self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit.setGeometry(QtCore.QRect(160, 125, 141, 21))
        self.lineEdit.setStyleSheet("background-color: white")
        self.lineEdit.setObjectName("lineEdit")
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        self.label_4.setGeometry(QtCore.QRect(60, 170, 421, 41))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_4.setFont(font)
        self.label_4.setWordWrap(True)
        self.label_4.setObjectName("label_4")
        self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_2.setGeometry(QtCore.QRect(100, 180, 121, 21))
        self.lineEdit_2.setStyleSheet("background-color: white")
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.label_5 = QtWidgets.QLabel(self.centralwidget)
        self.label_5.setGeometry(QtCore.QRect(60, 230, 421, 41))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_5.setFont(font)
        self.label_5.setWordWrap(True)
        self.label_5.setObjectName("label_5")
        self.lineEdit_3 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_3.setGeometry(QtCore.QRect(320, 230, 141, 21))
        self.lineEdit_3.setStyleSheet("background-color: white")
        self.lineEdit_3.setObjectName("lineEdit_3")
        self.lineEdit_4 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_4.setGeometry(QtCore.QRect(190, 300, 141, 16))
        self.lineEdit_4.setStyleSheet("background-color: white")
        self.lineEdit_4.setObjectName("lineEdit_4")
        self.label_6 = QtWidgets.QLabel(self.centralwidget)
        self.label_6.setGeometry(QtCore.QRect(60, 290, 421, 51))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_6.setFont(font)
        self.label_6.setWordWrap(True)
        self.label_6.setObjectName("label_6")
        self.lineEdit_5 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_5.setGeometry(QtCore.QRect(310, 360, 141, 21))
        self.lineEdit_5.setStyleSheet("background-color: white")
        self.lineEdit_5.setObjectName("lineEdit_5")
        self.label_7 = QtWidgets.QLabel(self.centralwidget)
        self.label_7.setGeometry(QtCore.QRect(60, 360, 421, 21))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_7.setFont(font)
        self.label_7.setWordWrap(True)
        self.label_7.setObjectName("label_7")
        self.lineEdit_6 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_6.setGeometry(QtCore.QRect(140, 430, 141, 16))
        self.lineEdit_6.setObjectName("lineEdit_6")
        self.label_8 = QtWidgets.QLabel(self.centralwidget)
        self.label_8.setGeometry(QtCore.QRect(60, 400, 351, 51))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_8.setFont(font)
        self.label_8.setWordWrap(True)
        self.label_8.setObjectName("label_8")
        self.lineEdit_7 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_7.setGeometry(QtCore.QRect(110, 480, 141, 16))
        self.lineEdit_7.setStyleSheet("background-color: white")
        self.lineEdit_7.setObjectName("lineEdit_7")
        self.label_9 = QtWidgets.QLabel(self.centralwidget)
        self.label_9.setGeometry(QtCore.QRect(60, 460, 301, 51))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_9.setFont(font)
        self.label_9.setWordWrap(True)
        self.label_9.setObjectName("label_9")
        self.label_10 = QtWidgets.QLabel(self.centralwidget)
        self.label_10.setGeometry(QtCore.QRect(60, 80, 421, 31))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(12)
        self.label_10.setFont(font)
        self.label_10.setAlignment(QtCore.Qt.AlignCenter)
        self.label_10.setObjectName("label_10")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(60, 520, 121, 31))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(10)
        self.pushButton.setFont(font)
        self.pushButton.setStyleSheet("QPushButton {\n"
"    border: 1px ;\n"
"    border-radius: 15;\n"
"    background-color: #f2f2f2;\n"
"}\n"
"\n"
"QPushButton:pressed  { \n"
"    background-color: #cccccc;\n"
" }\n"
"")
        self.pushButton.setObjectName("pushButton")
        self.label_11 = QtWidgets.QLabel(self.centralwidget)
        self.label_11.setGeometry(QtCore.QRect(550, 120, 491, 421))
        self.label_11.setStyleSheet("")
        self.label_11.setText("")
        self.label_11.setPixmap(QtGui.QPixmap(":/page1/Images/Unit 4/4a/IdiomsImages/1_2.png"))
        self.label_11.setScaledContents(True)
        self.label_11.setObjectName("label_11")
        self.pushButton_7 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_7.setGeometry(QtCore.QRect(10, 570, 356, 23))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(9)
        self.pushButton_7.setFont(font)
        self.pushButton_7.setStyleSheet("QPushButton {\n"
"    border: 1px solid black;\n"
"    border-radius: 10;\n"
"    background-color: #f2f2f2;\n"
"}\n"
"\n"
"QPushButton:pressed  { \n"
"    background-color: #cccccc;\n"
" }\n"
"")
        self.pushButton_7.setObjectName("pushButton_7")
        self.pushButton_8 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_8.setGeometry(QtCore.QRect(370, 570, 355, 23))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(9)
        self.pushButton_8.setFont(font)
        self.pushButton_8.setStyleSheet("QPushButton {\n"
"    border: 1px solid black;\n"
"    border-radius: 10;\n"
"    background-color: #f2f2f2;\n"
"}\n"
"\n"
"QPushButton:pressed  { \n"
"    background-color: #cccccc;\n"
" }\n"
"")
        self.pushButton_8.setObjectName("pushButton_8")
        self.pushButton_9 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_9.setGeometry(QtCore.QRect(730, 570, 356, 23))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(9)
        self.pushButton_9.setFont(font)
        self.pushButton_9.setStyleSheet("QPushButton {\n"
"    border: 1px solid black;\n"
"    border-radius: 10;\n"
"    background-color: #f2f2f2;\n"
"}\n"
"\n"
"QPushButton:pressed  { \n"
"    background-color: #cccccc;\n"
" }\n"
"")
        self.pushButton_9.setObjectName("pushButton_9")
        self.verticalLayoutWidget.raise_()
        self.label_3.raise_()
        self.lineEdit.raise_()
        self.label_4.raise_()
        self.lineEdit_2.raise_()
        self.label_5.raise_()
        self.lineEdit_3.raise_()
        self.label_6.raise_()
        self.lineEdit_4.raise_()
        self.label_7.raise_()
        self.lineEdit_5.raise_()
        self.lineEdit_6.raise_()
        self.label_8.raise_()
        self.label_9.raise_()
        self.lineEdit_7.raise_()
        self.label_10.raise_()
        self.pushButton.raise_()
        self.label_11.raise_()
        self.pushButton_7.raise_()
        self.pushButton_8.raise_()
        self.pushButton_9.raise_()
        IdiomTask_2.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(IdiomTask_2)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1100, 21))
        self.menubar.setObjectName("menubar")
        IdiomTask_2.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(IdiomTask_2)
        self.statusbar.setObjectName("statusbar")
        IdiomTask_2.setStatusBar(self.statusbar)

        self.retranslateUi(IdiomTask_2)
        QtCore.QMetaObject.connectSlotsByName(IdiomTask_2)

    def retranslateUi(self, IdiomTask_2):
        _translate = QtCore.QCoreApplication.translate
        IdiomTask_2.setWindowTitle(_translate("IdiomTask_2", "Idioms Task"))
        self.label.setText(_translate("IdiomTask_2", "<html><head/><body><p><span style=\" font-size:16pt; font-weight:600;\">Unit 4a</span></p></body></html>"))
        self.label_2.setText(_translate("IdiomTask_2", "<html><head/><body><p><span style=\" font-size:16pt; font-weight:600;\">Come rain or shine!</span></p></body></html>"))
        self.label_3.setText(_translate("IdiomTask_2", "Yumi is feeling                                       , so she won\'t be going to work today."))
        self.label_4.setText(_translate("IdiomTask_2", "Mo is                                  - his wife is pregnant"))
        self.label_5.setText(_translate("IdiomTask_2", "He can\'t continue going around with his                                      ; he must be more realistic about his problems"))
        self.label_6.setText(_translate("IdiomTask_2", "Studying English is                                      . I\'m progressing so quickly"))
        self.label_7.setText(_translate("IdiomTask_2", "In my opininon, the whole thing is just "))
        self.label_8.setText(_translate("IdiomTask_2", "Once you have the basic home comforts, it\'s importnat to"))
        self.label_9.setText(_translate("IdiomTask_2", "I was going to go shopping, but it suddenly started                                     so I stayed home"))
        self.label_10.setText(_translate("IdiomTask_2", "Fill in missing idioms"))
        self.pushButton.setText(_translate("IdiomTask_2", "Check"))
        self.pushButton_7.setText(_translate("IdiomTask_2", "Go to previous page"))
        self.pushButton_8.setText(_translate("IdiomTask_2", "Go to unit contents"))
        self.pushButton_9.setText(_translate("IdiomTask_2", "Go to next page"))
import images_rc

#'Класс надстройка'
class IdiomsTask_2(QtWidgets.QMainWindow, Ui_IdiomTask_2 ):   
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.pushButton.clicked.connect(self.checkanswer)
        

        self.a1 = None
        self.b1 = None
        self.c1 = None
        self.d1 = None
        self.e1 = None
        self.f1 = None
        self.g1 = None

    def saveanswer(self):
        self.a1 = self.lineEdit.text()
        self.b1 = self.lineEdit_2.text()
        self.c1 = self.lineEdit_3.text()
        self.d1 = self.lineEdit_4.text()
        self.e1 = self.lineEdit_5.text()
        self.f1 = self.lineEdit_6.text()
        self.g1 = self.lineEdit_7.text()

    def checkanswer(self):

        self.saveanswer()

        if self.a1 == "under the weather":
            self.lineEdit.setStyleSheet("QLineEdit { color: green; background-color: white}")
        elif self.a1 == "":
            pass
        else:
            self.lineEdit.setStyleSheet("QLineEdit { color: red; background-color: white}")

        if self.b1 == "on cloud nine":
            self.lineEdit_2.setStyleSheet("QLineEdit { color: green; background-color: white}")
        elif self.b1 == "":
            pass
        else:
            self.lineEdit_2.setStyleSheet("QLineEdit { color: red; background-color: white}")

        if self.c1 == "head in the clouds":
            self.lineEdit_3.setStyleSheet("QLineEdit { color: green; background-color: white}")
        elif self.c1 == "":
            pass
        else:
            self.lineEdit_3.setStyleSheet("QLineEdit { color: red; background-color: white}")

        if self.d1 == "a breeze":
            self.lineEdit_4.setStyleSheet("QLineEdit { color: green; background-color: white}")
        elif self.d1 == "":
            pass
        else:
            self.lineEdit_4.setStyleSheet("QLineEdit { color: red; background-color: white}")

        if self.e1 == "a storm in the teacup":
            self.lineEdit_5.setStyleSheet("QLineEdit { color: green; background-color: white}")
        elif self.e1 == "":
            pass
        else:
            self.lineEdit_5.setStyleSheet("QLineEdit { color: red; background-color: white}")

        if self.f1 == "save up for a rainy day":
            self.lineEdit_6.setStyleSheet("QLineEdit { color: green; background-color: white}")
        elif self.f1 == "":
            pass
        else:
            self.lineEdit_6.setStyleSheet("QLineEdit { color: red; background-color: white}")

        if self.g1 == "raining cats and dogs":
            self.lineEdit_7.setStyleSheet("QLineEdit { color: green; background-color: white}")
        elif self.g1 == "":
            pass
        else:
            self.lineEdit_7.setStyleSheet("QLineEdit { color: red; background-color: white}")


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    IdiomTask_2 = QtWidgets.QMainWindow()
    #ui = Ui_IdiomTask_2()
    #ui.setupUi(IdiomTask_2)
    #IdiomTask_2.show()
    w = IdiomsTask_2()
    w.show()
    sys.exit(app.exec_())
python
  • 2 个回答
  • 10 Views
Martin Hope
Mswork6
Asked: 2020-09-12 04:22:27 +0000 UTC

文件转换为exe后打不开

  • 1

将.py文件转换为.exe使用图像的文件后,在启动时会出错:

ModuleNotFoundError:没有名为“images_rc”的模块

(带有图像的文件),尽管该文件images_rc位于同一目录中。如何解决这个问题呢?

更新:

成语理论.py

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_IdiomsTheory(object):
    def setupUi(self, IdiomsTheory):
        IdiomsTheory.setObjectName("IdiomsTheory")
        IdiomsTheory.resize(1100, 649)
        IdiomsTheory.setStyleSheet("background-color: #d580ff")
        self.centralwidget = QtWidgets.QWidget(IdiomsTheory)
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(9, 0, 1081, 58))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.label = QtWidgets.QLabel(self.verticalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(12)
        self.label.setFont(font)
        self.label.setStyleSheet("color: #ffffb3")
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName("label")
        self.verticalLayout.addWidget(self.label)
        self.label_2 = QtWidgets.QLabel(self.verticalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(12)
        self.label_2.setFont(font)
        self.label_2.setStyleSheet("color: #aa00ff")
        self.label_2.setAlignment(QtCore.Qt.AlignCenter)
        self.label_2.setObjectName("label_2")
        self.verticalLayout.addWidget(self.label_2)
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(30, 90, 621, 31))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(13)
        self.label_3.setFont(font)
        self.label_3.setAlignment(QtCore.Qt.AlignCenter)
        self.label_3.setObjectName("label_3")
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        self.label_4.setGeometry(QtCore.QRect(30, 140, 301, 81))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_4.setFont(font)
        self.label_4.setWordWrap(True)
        self.label_4.setObjectName("label_4")
        self.label_5 = QtWidgets.QLabel(self.centralwidget)
        self.label_5.setGeometry(QtCore.QRect(30, 230, 301, 81))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_5.setFont(font)
        self.label_5.setWordWrap(True)
        self.label_5.setObjectName("label_5")
        self.label_6 = QtWidgets.QLabel(self.centralwidget)
        self.label_6.setGeometry(QtCore.QRect(30, 320, 301, 81))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_6.setFont(font)
        self.label_6.setWordWrap(True)
        self.label_6.setObjectName("label_6")
        self.label_7 = QtWidgets.QLabel(self.centralwidget)
        self.label_7.setGeometry(QtCore.QRect(30, 410, 301, 81))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_7.setFont(font)
        self.label_7.setWordWrap(True)
        self.label_7.setObjectName("label_7")
        self.label_8 = QtWidgets.QLabel(self.centralwidget)
        self.label_8.setGeometry(QtCore.QRect(350, 140, 301, 101))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_8.setFont(font)
        self.label_8.setWordWrap(True)
        self.label_8.setObjectName("label_8")
        self.label_9 = QtWidgets.QLabel(self.centralwidget)
        self.label_9.setGeometry(QtCore.QRect(350, 260, 301, 81))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_9.setFont(font)
        self.label_9.setWordWrap(True)
        self.label_9.setObjectName("label_9")
        self.label_10 = QtWidgets.QLabel(self.centralwidget)
        self.label_10.setGeometry(QtCore.QRect(350, 360, 301, 111))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_10.setFont(font)
        self.label_10.setWordWrap(True)
        self.label_10.setObjectName("label_10")
        self.label_12 = QtWidgets.QLabel(self.centralwidget)
        self.label_12.setGeometry(QtCore.QRect(670, 140, 411, 341))
        self.label_12.setStyleSheet("")
        self.label_12.setText("")
        self.label_12.setTextFormat(QtCore.Qt.AutoText)
        self.label_12.setPixmap(QtGui.QPixmap(":/page1/Images/Unit 4/4a/IdiomsImages/4a1.png"))
        self.label_12.setScaledContents(True)
        self.label_12.setObjectName("label_12")
        self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_4.setGeometry(QtCore.QRect(10, 580, 356, 23))
        self.pushButton_4.setStyleSheet("QPushButton {background-color: #f2f2f2;\n"
"    border: 1px solid black;\n"
"    border-radius: 10\n"
" }\n"
"\n"
"QPushButton:pressed  { \n"
"    background-color: #cccccc;\n"
" }\n"
"")
        self.pushButton_4.setObjectName("pushButton_4")
        self.pushButton_5 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_5.setGeometry(QtCore.QRect(370, 580, 355, 23))
        self.pushButton_5.setStyleSheet("QPushButton {background-color: #f2f2f2;\n"
"    border: 1px solid black;\n"
"    border-radius: 10\n"
" }\n"
"\n"
"QPushButton:pressed  { \n"
"    background-color: #cccccc;\n"
" }\n"
"")
        self.pushButton_5.setObjectName("pushButton_5")
        self.pushButton_6 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_6.setGeometry(QtCore.QRect(730, 580, 356, 23))
        self.pushButton_6.setStyleSheet("QPushButton {background-color: #f2f2f2;\n"
"    border: 1px solid black;\n"
"    border-radius: 10\n"
" }\n"
"\n"
"QPushButton:pressed  { \n"
"    background-color: #cccccc;\n"
" }\n"
"")
        self.pushButton_6.setObjectName("pushButton_6")
        IdiomsTheory.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(IdiomsTheory)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1100, 21))
        self.menubar.setObjectName("menubar")
        IdiomsTheory.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(IdiomsTheory)
        self.statusbar.setObjectName("statusbar")
        IdiomsTheory.setStatusBar(self.statusbar)

        self.retranslateUi(IdiomsTheory)
        QtCore.QMetaObject.connectSlotsByName(IdiomsTheory)

    def retranslateUi(self, IdiomsTheory):
        _translate = QtCore.QCoreApplication.translate
        IdiomsTheory.setWindowTitle(_translate("IdiomsTheory", "Idioms Theory"))
        self.label.setText(_translate("IdiomsTheory", "<html><head/><body><p><span style=\" font-size:16pt; font-weight:600;\">Unit 4a</span></p></body></html>"))
        self.label_2.setText(_translate("IdiomsTheory", "<html><head/><body><p><span style=\" font-size:16pt; font-weight:600;\">Come rain or shine!</span></p></body></html>"))
        self.label_3.setText(_translate("IdiomsTheory", "Idioms"))
        self.label_4.setText(_translate("IdiomsTheory", "<html><head/><body><p><span style=\" text-decoration: underline; color:#55007f;\">Under the weather</span><span style=\" text-decoration: underline;\"> - slightly unwell</span></p><p><span style=\" font-style:italic;\">Example: Yumi is feeling under the weather, so she won\'t be going to work today.</span></p></body></html>"))
        self.label_5.setText(_translate("IdiomsTheory", "<html><head/><body><p><span style=\" text-decoration: underline; color:#55007f;\">On cloud nine</span><span style=\" text-decoration: underline;\"> - extremely happy</span></p><p><span style=\" font-style:italic;\">Example: Mo is on cloud nine - his wife is pregnant</span></p></body></html>"))
        self.label_6.setText(_translate("IdiomsTheory", "<html><head/><body><p><span style=\" text-decoration: underline; color:#55007f;\">A breeze</span><span style=\" text-decoration: underline;\"> - very easy</span></p><p><span style=\" font-style:italic;\">Example: Studying English is a breeze. I\'m progressin so quickly</span></p></body></html>"))
        self.label_7.setText(_translate("IdiomsTheory", "<html><head/><body><p><span style=\" text-decoration: underline; color:#55007f;\">Rain cats and dogs</span><span style=\" text-decoration: underline;\"> - rain very hard </span></p><p><span style=\" font-style:italic;\">Example: I was going to go shopping, but it suddenly started raining cats and dogs, so I stayed home</span></p></body></html>"))
        self.label_8.setText(_translate("IdiomsTheory", "<html><head/><body><p><span style=\" text-decoration: underline; color:#55007f;\">Save up for a rainy day</span><span style=\" text-decoration: underline;\"> - put some money aside for whenever it may be needed</span></p><p><span style=\" font-style:italic;\">Example: Once you have the basic home comforts, it\'s importnat to save up for a rainy day</span></p></body></html>"))
        self.label_9.setText(_translate("IdiomsTheory", "<html><head/><body><p><span style=\" text-decoration: underline; color:#55007f;\">Storm in a teacup</span><span style=\" text-decoration: underline;\"> - small problem that has been blown out of proportion</span></p><p><span style=\" font-style:italic;\">Example: In my opininon, the whole thing is just a storm in a teacup </span></p></body></html>"))
        self.label_10.setText(_translate("IdiomsTheory", "<html><head/><body><p><span style=\" text-decoration: underline; color:#55007f;\">Head in the clouds</span><span style=\" text-decoration: underline;\"> - not being realistic or daydreaming</span></p><p><span style=\" font-style:italic;\">Example: He can\'t continue going around with his head in the clouds; he must be more realistic about his problems</span></p></body></html>"))
        self.pushButton_4.setText(_translate("IdiomsTheory", "Go to previous page"))
        self.pushButton_5.setText(_translate("IdiomsTheory", "Go to unit contents"))
        self.pushButton_6.setText(_translate("IdiomsTheory", "Go to next page"))
import images_rc


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    IdiomsTheory = QtWidgets.QMainWindow()
    ui = Ui_IdiomsTheory()
    ui.setupUi(IdiomsTheory)
    IdiomsTheory.show()
    sys.exit(app.exec_())

转换字符串:

pyinstaller -F -w IdiomsTheory.py

图片.qrc

<RCC>
  <qresource prefix="page1">
    <file>Images/Unit 4/4a/IdiomsImages/1_1.png</file>
    <file>Images/Unit 4/4a/IdiomsImages/1_2.png</file>
    <file>Images/Unit 4/4a/IdiomsImages/1_3.png</file>
    <file>Images/Unit 4/4a/IdiomsImages/4a1.png</file>
    <file>Images/Unit 4/4a/IdiomsImages/4a2.png</file>
    <file>Images/Unit 4/4a/IdiomsImages/weather1_0.png</file>
  </qresource>
  <qresource prefix="page2">
    <file>Images/Unit 4/4a/VocabularyImages/1.png</file>
    <file>Images/Unit 4/4a/VocabularyImages/2.png</file>
  </qresource>
  <qresource prefix="page3"/>
</RCC>
python
  • 1 个回答
  • 10 Views
Martin Hope
Mswork6
Asked: 2020-09-06 18:59:02 +0000 UTC

QLineEdit pyqt5 颜色变化

  • 1

我有一个问题:当您输入任何数据LineEdit然后检查时,颜色LineEdit变得与整个窗口的背景相同。

我怎样才能避免这种情况并留下相同的颜色?

编码:

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_IdiomTask_2(object):
    def setupUi(self, IdiomTask_2):
        IdiomTask_2.setObjectName("IdiomTask_2")
        IdiomTask_2.resize(1100, 642)
        font = QtGui.QFont()
        font.setPointSize(9)
        IdiomTask_2.setFont(font)
        IdiomTask_2.setStyleSheet("background-color: #d580ff")
        self.centralwidget = QtWidgets.QWidget(IdiomTask_2)
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(10, 0, 1081, 58))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.label = QtWidgets.QLabel(self.verticalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(12)
        self.label.setFont(font)
        self.label.setStyleSheet("color: #ffffb3")
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName("label")
        self.verticalLayout.addWidget(self.label)
        self.label_2 = QtWidgets.QLabel(self.verticalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(12)
        self.label_2.setFont(font)
        self.label_2.setStyleSheet("color: #aa00ff")
        self.label_2.setAlignment(QtCore.Qt.AlignCenter)
        self.label_2.setObjectName("label_2")
        self.verticalLayout.addWidget(self.label_2)
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(60, 120, 421, 41))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_3.setFont(font)
        self.label_3.setWordWrap(True)
        self.label_3.setObjectName("label_3")
        self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit.setGeometry(QtCore.QRect(160, 125, 141, 21))
        self.lineEdit.setStyleSheet("background-color: white")
        self.lineEdit.setObjectName("lineEdit")
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        self.label_4.setGeometry(QtCore.QRect(60, 170, 421, 41))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_4.setFont(font)
        self.label_4.setWordWrap(True)
        self.label_4.setObjectName("label_4")
        self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_2.setGeometry(QtCore.QRect(100, 180, 121, 21))
        self.lineEdit_2.setStyleSheet("background-color: white")
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.label_5 = QtWidgets.QLabel(self.centralwidget)
        self.label_5.setGeometry(QtCore.QRect(60, 230, 421, 41))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_5.setFont(font)
        self.label_5.setWordWrap(True)
        self.label_5.setObjectName("label_5")
        self.lineEdit_3 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_3.setGeometry(QtCore.QRect(320, 230, 141, 21))
        self.lineEdit_3.setStyleSheet("background-color: white")
        self.lineEdit_3.setObjectName("lineEdit_3")
        self.lineEdit_4 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_4.setGeometry(QtCore.QRect(190, 300, 141, 16))
        self.lineEdit_4.setStyleSheet("background-color: white")
        self.lineEdit_4.setObjectName("lineEdit_4")
        self.label_6 = QtWidgets.QLabel(self.centralwidget)
        self.label_6.setGeometry(QtCore.QRect(60, 290, 421, 51))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_6.setFont(font)
        self.label_6.setWordWrap(True)
        self.label_6.setObjectName("label_6")
        self.lineEdit_5 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_5.setGeometry(QtCore.QRect(310, 360, 141, 21))
        self.lineEdit_5.setStyleSheet("background-color: white")
        self.lineEdit_5.setObjectName("lineEdit_5")
        self.label_7 = QtWidgets.QLabel(self.centralwidget)
        self.label_7.setGeometry(QtCore.QRect(60, 360, 421, 21))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_7.setFont(font)
        self.label_7.setWordWrap(True)
        self.label_7.setObjectName("label_7")
        self.lineEdit_6 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_6.setGeometry(QtCore.QRect(140, 430, 141, 16))
        self.lineEdit_6.setObjectName("lineEdit_6")
        self.label_8 = QtWidgets.QLabel(self.centralwidget)
        self.label_8.setGeometry(QtCore.QRect(60, 400, 351, 51))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_8.setFont(font)
        self.label_8.setWordWrap(True)
        self.label_8.setObjectName("label_8")
        self.lineEdit_7 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_7.setGeometry(QtCore.QRect(110, 480, 141, 16))
        self.lineEdit_7.setStyleSheet("background-color: white")
        self.lineEdit_7.setObjectName("lineEdit_7")
        self.label_9 = QtWidgets.QLabel(self.centralwidget)
        self.label_9.setGeometry(QtCore.QRect(60, 460, 301, 51))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_9.setFont(font)
        self.label_9.setWordWrap(True)
        self.label_9.setObjectName("label_9")
        self.label_10 = QtWidgets.QLabel(self.centralwidget)
        self.label_10.setGeometry(QtCore.QRect(60, 80, 421, 31))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(12)
        self.label_10.setFont(font)
        self.label_10.setAlignment(QtCore.Qt.AlignCenter)
        self.label_10.setObjectName("label_10")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(60, 520, 121, 31))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(10)
        self.pushButton.setFont(font)
        self.pushButton.setStyleSheet("QPushButton {\n"
"    border: 1px ;\n"
"    border-radius: 15;\n"
"    background-color: #f2f2f2;\n"
"}\n"
"\n"
"QPushButton:pressed  { \n"
"    background-color: #cccccc;\n"
" }\n"
"")
        self.pushButton.setObjectName("pushButton")
        self.label_11 = QtWidgets.QLabel(self.centralwidget)
        self.label_11.setGeometry(QtCore.QRect(550, 120, 491, 421))
        self.label_11.setStyleSheet("background-image: url(:/page 3/4a1.jpeg);")
        self.label_11.setText("")
        self.label_11.setPixmap(QtGui.QPixmap(":/page1/Images/Unit 4/4a/IdiomsImages/1_2.png"))
        self.label_11.setScaledContents(True)
        self.label_11.setObjectName("label_11")
        self.pushButton_7 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_7.setGeometry(QtCore.QRect(10, 570, 356, 23))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(9)
        self.pushButton_7.setFont(font)
        self.pushButton_7.setStyleSheet("QPushButton {\n"
"    border: 1px solid black;\n"
"    border-radius: 10;\n"
"    background-color: #f2f2f2;\n"
"}\n"
"\n"
"QPushButton:pressed  { \n"
"    background-color: #cccccc;\n"
" }\n"
"")
        self.pushButton_7.setObjectName("pushButton_7")
        self.pushButton_8 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_8.setGeometry(QtCore.QRect(370, 570, 355, 23))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(9)
        self.pushButton_8.setFont(font)
        self.pushButton_8.setStyleSheet("QPushButton {\n"
"    border: 1px solid black;\n"
"    border-radius: 10;\n"
"    background-color: #f2f2f2;\n"
"}\n"
"\n"
"QPushButton:pressed  { \n"
"    background-color: #cccccc;\n"
" }\n"
"")
        self.pushButton_8.setObjectName("pushButton_8")
        self.pushButton_9 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_9.setGeometry(QtCore.QRect(730, 570, 356, 23))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(9)
        self.pushButton_9.setFont(font)
        self.pushButton_9.setStyleSheet("QPushButton {\n"
"    border: 1px solid black;\n"
"    border-radius: 10;\n"
"    background-color: #f2f2f2;\n"
"}\n"
"\n"
"QPushButton:pressed  { \n"
"    background-color: #cccccc;\n"
" }\n"
"")
        self.pushButton_9.setObjectName("pushButton_9")
        self.verticalLayoutWidget.raise_()
        self.label_3.raise_()
        self.lineEdit.raise_()
        self.label_4.raise_()
        self.lineEdit_2.raise_()
        self.label_5.raise_()
        self.lineEdit_3.raise_()
        self.label_6.raise_()
        self.lineEdit_4.raise_()
        self.label_7.raise_()
        self.lineEdit_5.raise_()
        self.lineEdit_6.raise_()
        self.label_8.raise_()
        self.label_9.raise_()
        self.lineEdit_7.raise_()
        self.label_10.raise_()
        self.pushButton.raise_()
        self.label_11.raise_()
        self.pushButton_7.raise_()
        self.pushButton_8.raise_()
        self.pushButton_9.raise_()
        IdiomTask_2.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(IdiomTask_2)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1100, 21))
        self.menubar.setObjectName("menubar")
        IdiomTask_2.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(IdiomTask_2)
        self.statusbar.setObjectName("statusbar")
        IdiomTask_2.setStatusBar(self.statusbar)

        self.retranslateUi(IdiomTask_2)
        QtCore.QMetaObject.connectSlotsByName(IdiomTask_2)

    def retranslateUi(self, IdiomTask_2):
        _translate = QtCore.QCoreApplication.translate
        IdiomTask_2.setWindowTitle(_translate("IdiomTask_2", "MainWindow"))
        self.label.setText(_translate("IdiomTask_2", "<html><head/><body><p><span style=\" font-size:16pt; font-weight:600;\">Unit 4a</span></p></body></html>"))
        self.label_2.setText(_translate("IdiomTask_2", "<html><head/><body><p><span style=\" font-size:16pt; font-weight:600;\">Come rain or shine!</span></p></body></html>"))
        self.label_3.setText(_translate("IdiomTask_2", "Yumi is feeling                                       , so she won\'t be going to work today."))
        self.label_4.setText(_translate("IdiomTask_2", "Mo is                                  - his wife is pregnant"))
        self.label_5.setText(_translate("IdiomTask_2", "He can\'t continue going around with his                                      ; he must be more realistic about his problems"))
        self.label_6.setText(_translate("IdiomTask_2", "Studying English is                                      . I\'m progressing so quickly"))
        self.label_7.setText(_translate("IdiomTask_2", "In my opininon, the whole thing is just "))
        self.label_8.setText(_translate("IdiomTask_2", "Once you have the basic home comforts, it\'s importnat to"))
        self.label_9.setText(_translate("IdiomTask_2", "I was going to go shopping, but it suddenly started                                     so I stayed home"))
        self.label_10.setText(_translate("IdiomTask_2", "Fill in missing idioms"))
        self.pushButton.setText(_translate("IdiomTask_2", "Check"))
        self.pushButton_7.setText(_translate("IdiomTask_2", "Go to previous page"))
        self.pushButton_8.setText(_translate("IdiomTask_2", "Go to unit contents"))
        self.pushButton_9.setText(_translate("IdiomTask_2", "Go to next page"))
import images_rc


class IdiomsTask_2(QtWidgets.QMainWindow, Ui_IdiomTask_2 ):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.pushButton.clicked.connect(self.checkanswer)
        

        self.a1 = None
        self.b1 = None
        self.c1 = None
        self.d1 = None
        self.e1 = None
        self.f1 = None
        self.g1 = None

    def saveanswer(self):
        self.a1 = self.lineEdit.text()
        self.b1 = self.lineEdit_2.text()
        self.c1 = self.lineEdit_3.text()
        self.d1 = self.lineEdit_4.text()
        self.e1 = self.lineEdit_5.text()
        self.f1 = self.lineEdit_6.text()
        self.g1 = self.lineEdit_7.text()

    def checkanswer(self):
        if self.a1 == "under the weather":
            self.lineEdit.setStyleSheet("QLineEdit { color: green}")
        elif self.a1 == "":
            pass
        else:
            self.lineEdit.setStyleSheet("QLineEdit { color: red}")

        if self.b1 == "on cloud nine":
            self.lineEdit_2.setStyleSheet("QLineEdit { color: green}")
        elif self.b1 == "":
            pass
        else:
            self.lineEdit_2.setStyleSheet("QLineEdit { color: red}")

        if self.c1 == "head in the clouds":
            self.lineEdit_3.setStyleSheet("QLineEdit { color: green}")
        elif self.c1 == "":
            pass
        else:
            self.lineEdit_3.setStyleSheet("QLineEdit { color: red}")

        if self.d1 == "a breeze":
            self.lineEdit_4.setStyleSheet("QLineEdit { color: green}")
        elif self.d1 == "":
            pass
        else:
            self.lineEdit_4.setStyleSheet("QLineEdit { color: red}")

        if self.e1 == "a storm in the teacup":
            self.lineEdit_5.setStyleSheet("QLineEdit { color: green}")
        elif self.e1 == "":
            pass
        else:
            self.lineEdit_5.setStyleSheet("QLineEdit { color: red}")

        if self.f1 == "save up for a rainy day":
            self.lineEdit_6.setStyleSheet("QLineEdit { color: green}")
        elif self.f1 == "":
            pass
        else:
            self.lineEdit_6.setStyleSheet("QLineEdit { color: red}")

        if self.g1 == "raining cats and dogs":
            self.lineEdit_7.setStyleSheet("QLineEdit { color: green}")
        elif self.g1 == "":
            pass
        else:
            self.lineEdit_7.setStyleSheet("QLineEdit { color: red}")













if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    IdiomTask_2 = QtWidgets.QMainWindow()
    #ui = Ui_IdiomTask_2()
    #ui.setupUi(IdiomTask_2)
    #IdiomTask_2.show()
    w = IdiomsTask_2()
    w.show()
    sys.exit(app.exec_())
python
  • 2 个回答
  • 10 Views
Martin Hope
Mswork6
Asked: 2020-08-02 23:09:59 +0000 UTC

图片未在 QLabel、PyQt5 中显示

  • 0

我来到这里时遇到了与几个月前相同的问题。图像不再显示在QLabel. 我按照他们写给我的说明做了一切,但错误仍然出现:

无法从 :\page1\4a1.jpeg 创建像素图

无法从 :\page1\4a1.jpeg 创建像素图

无法从 :\page1\4a1.jpeg 创建像素图

这个问题最近才开始,几周前。在此之前一切正常。我附上主要代码Idioms.py和.qrc代码。

成语.py:

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'Idioms.ui'
#
# Created by: PyQt5 UI code generator 5.13.2
#
# WARNING! All changes made in this file will be lost!


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1100, 650)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(9, 0, 1081, 51))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.label = QtWidgets.QLabel(self.verticalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(12)
        self.label.setFont(font)
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName("label")
        self.verticalLayout.addWidget(self.label)
        self.label_2 = QtWidgets.QLabel(self.verticalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(12)
        self.label_2.setFont(font)
        self.label_2.setAlignment(QtCore.Qt.AlignCenter)
        self.label_2.setObjectName("label_2")
        self.verticalLayout.addWidget(self.label_2)
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(30, 90, 621, 31))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(13)
        self.label_3.setFont(font)
        self.label_3.setAlignment(QtCore.Qt.AlignCenter)
        self.label_3.setObjectName("label_3")
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        self.label_4.setGeometry(QtCore.QRect(30, 140, 301, 81))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_4.setFont(font)
        self.label_4.setWordWrap(True)
        self.label_4.setObjectName("label_4")
        self.label_5 = QtWidgets.QLabel(self.centralwidget)
        self.label_5.setGeometry(QtCore.QRect(30, 230, 301, 81))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_5.setFont(font)
        self.label_5.setWordWrap(True)
        self.label_5.setObjectName("label_5")
        self.label_6 = QtWidgets.QLabel(self.centralwidget)
        self.label_6.setGeometry(QtCore.QRect(30, 320, 301, 81))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_6.setFont(font)
        self.label_6.setWordWrap(True)
        self.label_6.setObjectName("label_6")
        self.label_7 = QtWidgets.QLabel(self.centralwidget)
        self.label_7.setGeometry(QtCore.QRect(30, 410, 301, 81))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_7.setFont(font)
        self.label_7.setWordWrap(True)
        self.label_7.setObjectName("label_7")
        self.label_8 = QtWidgets.QLabel(self.centralwidget)
        self.label_8.setGeometry(QtCore.QRect(350, 140, 301, 101))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_8.setFont(font)
        self.label_8.setWordWrap(True)
        self.label_8.setObjectName("label_8")
        self.label_9 = QtWidgets.QLabel(self.centralwidget)
        self.label_9.setGeometry(QtCore.QRect(350, 260, 301, 81))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_9.setFont(font)
        self.label_9.setWordWrap(True)
        self.label_9.setObjectName("label_9")
        self.label_10 = QtWidgets.QLabel(self.centralwidget)
        self.label_10.setGeometry(QtCore.QRect(350, 360, 301, 111))
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(11)
        self.label_10.setFont(font)
        self.label_10.setWordWrap(True)
        self.label_10.setObjectName("label_10")
        self.horizontalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
        self.horizontalLayoutWidget.setGeometry(QtCore.QRect(10, 570, 1081, 31))
        self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.pushButton_3 = QtWidgets.QPushButton(self.horizontalLayoutWidget)
        self.pushButton_3.setObjectName("pushButton_3")
        self.horizontalLayout.addWidget(self.pushButton_3)
        self.pushButton_2 = QtWidgets.QPushButton(self.horizontalLayoutWidget)
        self.pushButton_2.setObjectName("pushButton_2")
        self.horizontalLayout.addWidget(self.pushButton_2)
        self.pushButton = QtWidgets.QPushButton(self.horizontalLayoutWidget)
        self.pushButton.setObjectName("pushButton")
        self.horizontalLayout.addWidget(self.pushButton)
        self.label_12 = QtWidgets.QLabel(self.centralwidget)
        self.label_12.setGeometry(QtCore.QRect(670, 140, 411, 341))
        self.label_12.setStyleSheet("background-image: url(:/page1/4a1.jpeg);")
        self.label_12.setText("")
        self.label_12.setPixmap(QtGui.QPixmap(":/page1/4a1.jpeg"))
        self.label_12.setScaledContents(True)
        self.label_12.setObjectName("label_12")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1100, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label.setText(_translate("MainWindow", "Unit 4a"))
        self.label_2.setText(_translate("MainWindow", "Come rain or shine!"))
        self.label_3.setText(_translate("MainWindow", "Idioms1"))
        self.label_4.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" text-decoration: underline; color:#55007f;\">Under the weather</span><span style=\" text-decoration: underline;\"> - slightly unwell</span></p><p><span style=\" font-style:italic;\">Example: Yumi is feeling under the weather, so she won\'t be going to work today.</span></p></body></html>"))
        self.label_5.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" text-decoration: underline; color:#55007f;\">On cloud nine</span><span style=\" text-decoration: underline;\"> - extremely happy</span></p><p><span style=\" font-style:italic;\">Example: Mo is on cloud nine - his wife is pregnant</span></p></body></html>"))
        self.label_6.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" text-decoration: underline; color:#55007f;\">A breeze</span><span style=\" text-decoration: underline;\"> - very easy</span></p><p><span style=\" font-style:italic;\">Example: Studying English is a breeze. I\'m progressin so quickly</span></p></body></html>"))
        self.label_7.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" text-decoration: underline; color:#55007f;\">Rain cats and dogs</span><span style=\" text-decoration: underline;\"> - rain very hard </span></p><p><span style=\" font-style:italic;\">Example: I was going to go shopping, but it suddenly started raining cats and dogs, so I stayed home</span></p></body></html>"))
        self.label_8.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" text-decoration: underline; color:#55007f;\">Save up for a rainy day</span><span style=\" text-decoration: underline;\"> - put some money aside for whenever it may be needed</span></p><p><span style=\" font-style:italic;\">Example: Once you have the basic home comforts, it\'s importnat to save up for a rainy day</span></p></body></html>"))
        self.label_9.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" text-decoration: underline; color:#55007f;\">Storm in a teacup</span><span style=\" text-decoration: underline;\"> - small problem that has been blown out of proportion</span></p><p><span style=\" font-style:italic;\">Example: In my opininon, the whole thing is just a storm in a teacup </span></p></body></html>"))
        self.label_10.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" text-decoration: underline; color:#55007f;\">Head in the clouds</span><span style=\" text-decoration: underline;\"> - not being realistic or daydreaming</span></p><p><span style=\" font-style:italic;\">Example: He can\'t continue going around with his head in the clouds; he must be more realistic about his problems</span></p></body></html>"))
        self.pushButton_3.setText(_translate("MainWindow", "Go to previous page"))
        self.pushButton_2.setText(_translate("MainWindow", "Go to unit contents"))
        self.pushButton.setText(_translate("MainWindow", "Go to next page"))
import Ids_rc


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

IDs.qrc:

<RCC>
  <qresource prefix="page1">
    <file>4a1.jpeg</file>
  </qresource>
</RCC>
python
  • 1 个回答
  • 10 Views
Martin Hope
Mswork6
Asked: 2020-07-11 02:40:48 +0000 UTC

单击标签时如何执行某些操作?

  • 1

label当我单击另一个中的更改文本时,我想实现label,但是当我运行代码时没有任何反应。

编码:

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.Qt import QLabel, pyqtSignal

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(708, 520)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(150, 70, 321, 151))
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(240, 270, 191, 71))
        self.label_2.setObjectName("label_2")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 708, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        


        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label.setText(_translate("MainWindow", "Test label "))
        self.label_2.setText(_translate("MainWindow", "TextLabel"))

class ClickedLabel(QLabel):
    clicked = pyqtSignal()

    def mouseReleaseEvent(self, e):
        super().mouseReleaseEvent(e)

        self.clicked.emit()

class Testwindow (QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self): 
        super().__init__()
        self.setupUi(self)

        self.label = ClickedLabel('Label')
        self.label.clicked.connect(self.hi)

    def hi(self):
        self.label_2.setText('Hello')

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    w = Testwindow()
    w.show()
    sys.exit(app.exec_())
python
  • 1 个回答
  • 10 Views
Martin Hope
Mswork6
Asked: 2020-06-19 21:34:43 +0000 UTC

如何更改 QComboBox、PyQt5 的字体颜色

  • 1

怎么实现这样的事情,这样当下拉列表的正确选项被选中时,字体颜色变为绿色。

我怎样才能做到这一点?

编码:

from PyQt5 import QtCore, QtGui, QtWidgets 


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(732, 570)
        MainWindow.setDocumentMode(True)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(20, 20, 421, 81))
        self.label_2.setScaledContents(True)
        self.label_2.setWordWrap(True)
        self.label_2.setOpenExternalLinks(False)
        self.label_2.setObjectName("label_2")
        self.AnswerEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.AnswerEdit.setGeometry(QtCore.QRect(150, 50, 101, 16))
        self.AnswerEdit.setObjectName("AnswerEdit")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(20, 100, 401, 51))
        self.label.setWordWrap(True)
        self.label.setObjectName("label")
        self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_2.setGeometry(QtCore.QRect(120, 110, 101, 16))
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(20, 170, 411, 61))
        self.label_3.setObjectName("label_3")
        self.AnswerBox = QtWidgets.QComboBox(self.centralwidget)
        self.AnswerBox.setGeometry(QtCore.QRect(320, 190, 121, 22))
        self.AnswerBox.setStyleSheet("")
        self.AnswerBox.setObjectName("AnswerBox")
        self.AnswerBox.addItem("")
        self.AnswerBox.addItem("")
        self.AnswerBox.addItem("")
        self.AnswerBox.addItem("")
        self.CheckButton = QtWidgets.QPushButton(self.centralwidget)
        self.CheckButton.setGeometry(QtCore.QRect(500, 60, 121, 31))
        self.CheckButton.setObjectName("CheckButton")
        self.comboBox_1_1 = QtWidgets.QComboBox(self.centralwidget)
        self.comboBox_1_1.setGeometry(QtCore.QRect(20, 260, 111, 22))
        self.comboBox_1_1.setObjectName("comboBox_1_1")
        self.comboBox_1_1.addItem("")
        self.comboBox_1_1.addItem("")
        self.comboBox_1_1.addItem("")
        self.comboBox_1_3 = QtWidgets.QComboBox(self.centralwidget)
        self.comboBox_1_3.setGeometry(QtCore.QRect(20, 340, 111, 22))
        self.comboBox_1_3.setObjectName("comboBox_1_3")
        self.comboBox_1_3.addItem("")
        self.comboBox_1_3.addItem("")
        self.comboBox_1_3.addItem("")
        self.comboBox_1_2 = QtWidgets.QComboBox(self.centralwidget)
        self.comboBox_1_2.setGeometry(QtCore.QRect(20, 300, 111, 22))
        self.comboBox_1_2.setObjectName("comboBox_1_2")
        self.comboBox_1_2.addItem("")
        self.comboBox_1_2.addItem("")
        self.comboBox_1_2.addItem("")
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        self.label_4.setGeometry(QtCore.QRect(160, 260, 91, 21))
        self.label_4.setObjectName("label_4")
        self.label_5 = QtWidgets.QLabel(self.centralwidget)
        self.label_5.setGeometry(QtCore.QRect(160, 300, 91, 21))
        self.label_5.setObjectName("label_5")
        self.label_6 = QtWidgets.QLabel(self.centralwidget)
        self.label_6.setGeometry(QtCore.QRect(160, 340, 121, 21))
        self.label_6.setObjectName("label_6")
        self.AnswerLabel_2 = QtWidgets.QLabel(self.centralwidget)
        self.AnswerLabel_2.setGeometry(QtCore.QRect(290, 290, 81, 21))
        self.AnswerLabel_2.setObjectName("AnswerLabel_2")
        self.CheckButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.CheckButton_2.setGeometry(QtCore.QRect(50, 390, 111, 31))
        self.CheckButton_2.setObjectName("CheckButton_2")
        self.AnswerLabel = QtWidgets.QLabel(self.centralwidget)
        self.AnswerLabel.setGeometry(QtCore.QRect(520, 110, 91, 21))
        self.AnswerLabel.setObjectName("AnswerLabel")
        self.WordBox_1_1 = QtWidgets.QComboBox(self.centralwidget)
        self.WordBox_1_1.setGeometry(QtCore.QRect(390, 260, 111, 22))
        self.WordBox_1_1.setObjectName("WordBox_1_1")
        self.WordBox_1_1.addItem("")
        self.WordBox_1_1.addItem("")
        self.WordBox_1_1.addItem("")
        self.DescBox_1_1 = QtWidgets.QComboBox(self.centralwidget)
        self.DescBox_1_1.setGeometry(QtCore.QRect(530, 260, 111, 22))
        self.DescBox_1_1.setObjectName("DescBox_1_1")
        self.DescBox_1_1.addItem("")
        self.DescBox_1_1.addItem("")
        self.DescBox_1_1.addItem("")
        self.AnswerLabel_3 = QtWidgets.QLabel(self.centralwidget)
        self.AnswerLabel_3.setGeometry(QtCore.QRect(650, 290, 61, 21))
        self.AnswerLabel_3.setObjectName("AnswerLabel_3")
        self.CheckButton_3 = QtWidgets.QPushButton(self.centralwidget)
        self.CheckButton_3.setGeometry(QtCore.QRect(430, 390, 111, 31))
        self.CheckButton_3.setObjectName("CheckButton_3")
        self.WordBox_1_2 = QtWidgets.QComboBox(self.centralwidget)
        self.WordBox_1_2.setGeometry(QtCore.QRect(390, 290, 111, 22))
        self.WordBox_1_2.setObjectName("WordBox_1_2")
        self.WordBox_1_2.addItem("")
        self.WordBox_1_2.addItem("")
        self.WordBox_1_2.addItem("")
        self.WordBox_1_3 = QtWidgets.QComboBox(self.centralwidget)
        self.WordBox_1_3.setGeometry(QtCore.QRect(390, 320, 111, 22))
        self.WordBox_1_3.setObjectName("WordBox_1_3")
        self.WordBox_1_3.addItem("")
        self.WordBox_1_3.addItem("")
        self.WordBox_1_3.addItem("")
        self.DescBox_1_3 = QtWidgets.QComboBox(self.centralwidget)
        self.DescBox_1_3.setGeometry(QtCore.QRect(530, 320, 111, 22))
        self.DescBox_1_3.setObjectName("DescBox_1_3")
        self.DescBox_1_3.addItem("")
        self.DescBox_1_3.addItem("")
        self.DescBox_1_3.addItem("")
        self.DescBox_1_2 = QtWidgets.QComboBox(self.centralwidget)
        self.DescBox_1_2.setGeometry(QtCore.QRect(530, 290, 111, 22))
        self.DescBox_1_2.setObjectName("DescBox_1_2")
        self.DescBox_1_2.addItem("")
        self.DescBox_1_2.addItem("")
        self.DescBox_1_2.addItem("")
        self.CheckButton_4 = QtWidgets.QPushButton(self.centralwidget)
        self.CheckButton_4.setGeometry(QtCore.QRect(480, 190, 81, 23))
        self.CheckButton_4.setObjectName("CheckButton_4")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 732, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label_2.setText(_translate("MainWindow", "This is a test text. It\'s main                                    is to understand what can i do and how it is possible to create"))
        self.label.setText(_translate("MainWindow", "This programm is so                                     (progress) and gives me a lot of abillities and it is awesome"))
        self.label_3.setText(_translate("MainWindow", "There are two versions of this programms and they are really "))
        self.AnswerBox.setItemText(0, _translate("MainWindow", "Choose a word"))
        self.AnswerBox.setItemText(1, _translate("MainWindow", "difference"))
        self.AnswerBox.setItemText(2, _translate("MainWindow", "different"))
        self.AnswerBox.setItemText(3, _translate("MainWindow", "indifferent"))
        self.CheckButton.setText(_translate("MainWindow", "Check"))
        self.comboBox_1_1.setItemText(0, _translate("MainWindow", "Car"))
        self.comboBox_1_1.setItemText(1, _translate("MainWindow", "Plane"))
        self.comboBox_1_1.setItemText(2, _translate("MainWindow", "Boat"))
        self.comboBox_1_3.setItemText(0, _translate("MainWindow", "Car"))
        self.comboBox_1_3.setItemText(1, _translate("MainWindow", "Plane"))
        self.comboBox_1_3.setItemText(2, _translate("MainWindow", "Boat"))
        self.comboBox_1_2.setItemText(0, _translate("MainWindow", "Car"))
        self.comboBox_1_2.setItemText(1, _translate("MainWindow", "Plane"))
        self.comboBox_1_2.setItemText(2, _translate("MainWindow", "Boat"))
        self.label_4.setText(_translate("MainWindow", "moves in the air"))
        self.label_5.setText(_translate("MainWindow", "goes on the road"))
        self.label_6.setText(_translate("MainWindow", "moves on the water"))
        self.AnswerLabel_2.setText(_translate("MainWindow", "TextLabel"))
        self.CheckButton_2.setText(_translate("MainWindow", "Check"))
        self.AnswerLabel.setText(_translate("MainWindow", "TextLabel"))
        self.WordBox_1_1.setItemText(0, _translate("MainWindow", "Car"))
        self.WordBox_1_1.setItemText(1, _translate("MainWindow", "Plane"))
        self.WordBox_1_1.setItemText(2, _translate("MainWindow", "Boat"))
        self.DescBox_1_1.setItemText(0, _translate("MainWindow", "moves on the road"))
        self.DescBox_1_1.setItemText(1, _translate("MainWindow", "moves on the water"))
        self.DescBox_1_1.setItemText(2, _translate("MainWindow", "moves in the air"))
        self.AnswerLabel_3.setText(_translate("MainWindow", "TextLabel"))
        self.CheckButton_3.setText(_translate("MainWindow", "Check"))
        self.WordBox_1_2.setItemText(0, _translate("MainWindow", "Car"))
        self.WordBox_1_2.setItemText(1, _translate("MainWindow", "Plane"))
        self.WordBox_1_2.setItemText(2, _translate("MainWindow", "Boat"))
        self.WordBox_1_3.setItemText(0, _translate("MainWindow", "Car"))
        self.WordBox_1_3.setItemText(1, _translate("MainWindow", "Plane"))
        self.WordBox_1_3.setItemText(2, _translate("MainWindow", "Boat"))
        self.DescBox_1_3.setItemText(0, _translate("MainWindow", "moves on the road"))
        self.DescBox_1_3.setItemText(1, _translate("MainWindow", "moves on the water"))
        self.DescBox_1_3.setItemText(2, _translate("MainWindow", "moves in the air"))
        self.DescBox_1_2.setItemText(0, _translate("MainWindow", "moves on the road"))
        self.DescBox_1_2.setItemText(1, _translate("MainWindow", "moves on the water"))
        self.DescBox_1_2.setItemText(2, _translate("MainWindow", "moves in the air"))
        self.CheckButton_4.setText(_translate("MainWindow", "Check"))

class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()

        self.setupUi(self)


        self.CheckButton.clicked.connect(self.checkanswer1)
        self.CheckButton_2.clicked.connect(self.checkanswer2)
        

        self.a = " "
        self.b = " "




    def setanswer1(self):
        self.a = self.AnswerEdit.text()
        self.b = self.lineEdit_2.text()

    def checkanswer1(self):
        self.setanswer1()
        
        if str(self.a) == "aim":
            self.AnswerEdit.setStyleSheet("QLineEdit { color : green}")
        elif str(self.a) == "":
            pass
        else:
            self.AnswerEdit.setStyleSheet("QLineEdit { color : red}")

        if str(self.b) == "progressive" :
            self.lineEdit_2.setStyleSheet("QLineEdit { color : green}")
        elif str(self.b) == "" :
            pass
        else:
            self.lineEdit_2.setStyleSheet("QLineEdit { color : red}")


        

    def checkanswer2(self):

        if self.comboBox_1_1.currentText() == "Car":
            self.AnswerLabel_2.setText('good job')
        else:
            self.AnswerLabel_2.setText("Try again")




if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    #MainWindow = QtWidgets.QMainWindow()
    #ui = Ui_MainWindow()
    #ui.setupUi(MainWindow)
    #MainWindow.show()
    w = MainWindow()
    w.show()
    sys.exit(app.exec_())

在此处输入图像描述

python
  • 1 个回答
  • 10 Views
Martin Hope
Mswork6
Asked: 2020-06-19 18:11:52 +0000 UTC

如何实现放大和缩小窗口,然后放大或缩小其中的内容,PyQt5

  • 2

我想用我的程序实现这样的事情,以便窗口可以放大或缩小,但窗口的内容(按钮、文本等)也会改变它们的大小。我怎样才能做到这一点?

如果它不完全适合,我想添加垂直和水平滚动条来滚动窗口的内容。

编码:

from PyQt5 import QtCore, QtGui, QtWidgets 


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(732, 570)
        MainWindow.setDocumentMode(True)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(20, 20, 421, 81))
        self.label_2.setScaledContents(True)
        self.label_2.setWordWrap(True)
        self.label_2.setOpenExternalLinks(False)
        self.label_2.setObjectName("label_2")
        self.AnswerEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.AnswerEdit.setGeometry(QtCore.QRect(150, 50, 101, 16))
        self.AnswerEdit.setObjectName("AnswerEdit")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(20, 100, 401, 51))
        self.label.setWordWrap(True)
        self.label.setObjectName("label")
        self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_2.setGeometry(QtCore.QRect(120, 110, 101, 16))
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(20, 170, 411, 61))
        self.label_3.setObjectName("label_3")
        self.AnswerBox = QtWidgets.QComboBox(self.centralwidget)
        self.AnswerBox.setGeometry(QtCore.QRect(320, 190, 121, 22))
        self.AnswerBox.setStyleSheet("")
        self.AnswerBox.setObjectName("AnswerBox")
        self.AnswerBox.addItem("")
        self.AnswerBox.addItem("")
        self.AnswerBox.addItem("")
        self.AnswerBox.addItem("")
        self.CheckButton = QtWidgets.QPushButton(self.centralwidget)
        self.CheckButton.setGeometry(QtCore.QRect(500, 60, 121, 31))
        self.CheckButton.setObjectName("CheckButton")
        self.comboBox_1_1 = QtWidgets.QComboBox(self.centralwidget)
        self.comboBox_1_1.setGeometry(QtCore.QRect(20, 260, 111, 22))
        self.comboBox_1_1.setObjectName("comboBox_1_1")
        self.comboBox_1_1.addItem("")
        self.comboBox_1_1.addItem("")
        self.comboBox_1_1.addItem("")
        self.comboBox_1_3 = QtWidgets.QComboBox(self.centralwidget)
        self.comboBox_1_3.setGeometry(QtCore.QRect(20, 340, 111, 22))
        self.comboBox_1_3.setObjectName("comboBox_1_3")
        self.comboBox_1_3.addItem("")
        self.comboBox_1_3.addItem("")
        self.comboBox_1_3.addItem("")
        self.comboBox_1_2 = QtWidgets.QComboBox(self.centralwidget)
        self.comboBox_1_2.setGeometry(QtCore.QRect(20, 300, 111, 22))
        self.comboBox_1_2.setObjectName("comboBox_1_2")
        self.comboBox_1_2.addItem("")
        self.comboBox_1_2.addItem("")
        self.comboBox_1_2.addItem("")
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        self.label_4.setGeometry(QtCore.QRect(160, 260, 91, 21))
        self.label_4.setObjectName("label_4")
        self.label_5 = QtWidgets.QLabel(self.centralwidget)
        self.label_5.setGeometry(QtCore.QRect(160, 300, 91, 21))
        self.label_5.setObjectName("label_5")
        self.label_6 = QtWidgets.QLabel(self.centralwidget)
        self.label_6.setGeometry(QtCore.QRect(160, 340, 121, 21))
        self.label_6.setObjectName("label_6")
        self.AnswerLabel_2 = QtWidgets.QLabel(self.centralwidget)
        self.AnswerLabel_2.setGeometry(QtCore.QRect(290, 290, 81, 21))
        self.AnswerLabel_2.setObjectName("AnswerLabel_2")
        self.CheckButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.CheckButton_2.setGeometry(QtCore.QRect(50, 390, 111, 31))
        self.CheckButton_2.setObjectName("CheckButton_2")
        self.AnswerLabel = QtWidgets.QLabel(self.centralwidget)
        self.AnswerLabel.setGeometry(QtCore.QRect(520, 110, 91, 21))
        self.AnswerLabel.setObjectName("AnswerLabel")
        self.WordBox_1_1 = QtWidgets.QComboBox(self.centralwidget)
        self.WordBox_1_1.setGeometry(QtCore.QRect(390, 260, 111, 22))
        self.WordBox_1_1.setObjectName("WordBox_1_1")
        self.WordBox_1_1.addItem("")
        self.WordBox_1_1.addItem("")
        self.WordBox_1_1.addItem("")
        self.DescBox_1_1 = QtWidgets.QComboBox(self.centralwidget)
        self.DescBox_1_1.setGeometry(QtCore.QRect(530, 260, 111, 22))
        self.DescBox_1_1.setObjectName("DescBox_1_1")
        self.DescBox_1_1.addItem("")
        self.DescBox_1_1.addItem("")
        self.DescBox_1_1.addItem("")
        self.AnswerLabel_3 = QtWidgets.QLabel(self.centralwidget)
        self.AnswerLabel_3.setGeometry(QtCore.QRect(650, 290, 61, 21))
        self.AnswerLabel_3.setObjectName("AnswerLabel_3")
        self.CheckButton_3 = QtWidgets.QPushButton(self.centralwidget)
        self.CheckButton_3.setGeometry(QtCore.QRect(430, 390, 111, 31))
        self.CheckButton_3.setObjectName("CheckButton_3")
        self.WordBox_1_2 = QtWidgets.QComboBox(self.centralwidget)
        self.WordBox_1_2.setGeometry(QtCore.QRect(390, 290, 111, 22))
        self.WordBox_1_2.setObjectName("WordBox_1_2")
        self.WordBox_1_2.addItem("")
        self.WordBox_1_2.addItem("")
        self.WordBox_1_2.addItem("")
        self.WordBox_1_3 = QtWidgets.QComboBox(self.centralwidget)
        self.WordBox_1_3.setGeometry(QtCore.QRect(390, 320, 111, 22))
        self.WordBox_1_3.setObjectName("WordBox_1_3")
        self.WordBox_1_3.addItem("")
        self.WordBox_1_3.addItem("")
        self.WordBox_1_3.addItem("")
        self.DescBox_1_3 = QtWidgets.QComboBox(self.centralwidget)
        self.DescBox_1_3.setGeometry(QtCore.QRect(530, 320, 111, 22))
        self.DescBox_1_3.setObjectName("DescBox_1_3")
        self.DescBox_1_3.addItem("")
        self.DescBox_1_3.addItem("")
        self.DescBox_1_3.addItem("")
        self.DescBox_1_2 = QtWidgets.QComboBox(self.centralwidget)
        self.DescBox_1_2.setGeometry(QtCore.QRect(530, 290, 111, 22))
        self.DescBox_1_2.setObjectName("DescBox_1_2")
        self.DescBox_1_2.addItem("")
        self.DescBox_1_2.addItem("")
        self.DescBox_1_2.addItem("")
        self.CheckButton_4 = QtWidgets.QPushButton(self.centralwidget)
        self.CheckButton_4.setGeometry(QtCore.QRect(480, 190, 81, 23))
        self.CheckButton_4.setObjectName("CheckButton_4")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 732, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label_2.setText(_translate("MainWindow", "This is a test text. It\'s main                                    is to understand what can i do and how it is possible to create"))
        self.label.setText(_translate("MainWindow", "This programm is so                                     (progress) and gives me a lot of abillities and it is awesome"))
        self.label_3.setText(_translate("MainWindow", "There are two versions of this programms and they are really "))
        self.AnswerBox.setItemText(0, _translate("MainWindow", "Choose a word"))
        self.AnswerBox.setItemText(1, _translate("MainWindow", "difference"))
        self.AnswerBox.setItemText(2, _translate("MainWindow", "different"))
        self.AnswerBox.setItemText(3, _translate("MainWindow", "indifferent"))
        self.CheckButton.setText(_translate("MainWindow", "Check"))
        self.comboBox_1_1.setItemText(0, _translate("MainWindow", "Car"))
        self.comboBox_1_1.setItemText(1, _translate("MainWindow", "Plane"))
        self.comboBox_1_1.setItemText(2, _translate("MainWindow", "Boat"))
        self.comboBox_1_3.setItemText(0, _translate("MainWindow", "Car"))
        self.comboBox_1_3.setItemText(1, _translate("MainWindow", "Plane"))
        self.comboBox_1_3.setItemText(2, _translate("MainWindow", "Boat"))
        self.comboBox_1_2.setItemText(0, _translate("MainWindow", "Car"))
        self.comboBox_1_2.setItemText(1, _translate("MainWindow", "Plane"))
        self.comboBox_1_2.setItemText(2, _translate("MainWindow", "Boat"))
        self.label_4.setText(_translate("MainWindow", "moves in the air"))
        self.label_5.setText(_translate("MainWindow", "goes on the road"))
        self.label_6.setText(_translate("MainWindow", "moves on the water"))
        self.AnswerLabel_2.setText(_translate("MainWindow", "TextLabel"))
        self.CheckButton_2.setText(_translate("MainWindow", "Check"))
        self.AnswerLabel.setText(_translate("MainWindow", "TextLabel"))
        self.WordBox_1_1.setItemText(0, _translate("MainWindow", "Car"))
        self.WordBox_1_1.setItemText(1, _translate("MainWindow", "Plane"))
        self.WordBox_1_1.setItemText(2, _translate("MainWindow", "Boat"))
        self.DescBox_1_1.setItemText(0, _translate("MainWindow", "moves on the road"))
        self.DescBox_1_1.setItemText(1, _translate("MainWindow", "moves on the water"))
        self.DescBox_1_1.setItemText(2, _translate("MainWindow", "moves in the air"))
        self.AnswerLabel_3.setText(_translate("MainWindow", "TextLabel"))
        self.CheckButton_3.setText(_translate("MainWindow", "Check"))
        self.WordBox_1_2.setItemText(0, _translate("MainWindow", "Car"))
        self.WordBox_1_2.setItemText(1, _translate("MainWindow", "Plane"))
        self.WordBox_1_2.setItemText(2, _translate("MainWindow", "Boat"))
        self.WordBox_1_3.setItemText(0, _translate("MainWindow", "Car"))
        self.WordBox_1_3.setItemText(1, _translate("MainWindow", "Plane"))
        self.WordBox_1_3.setItemText(2, _translate("MainWindow", "Boat"))
        self.DescBox_1_3.setItemText(0, _translate("MainWindow", "moves on the road"))
        self.DescBox_1_3.setItemText(1, _translate("MainWindow", "moves on the water"))
        self.DescBox_1_3.setItemText(2, _translate("MainWindow", "moves in the air"))
        self.DescBox_1_2.setItemText(0, _translate("MainWindow", "moves on the road"))
        self.DescBox_1_2.setItemText(1, _translate("MainWindow", "moves on the water"))
        self.DescBox_1_2.setItemText(2, _translate("MainWindow", "moves in the air"))
        self.CheckButton_4.setText(_translate("MainWindow", "Check"))

class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)

        self.CheckButton.clicked.connect(self.checkanswer1)
        self.CheckButton_2.clicked.connect(self.checkanswer2)

        self.a = " "
        self.b = " "

    def setanswer1(self):
        self.a = self.AnswerEdit.text()
        self.b = self.lineEdit_2.text()

    def checkanswer1(self):
        self.setanswer1()
        if str(self.a) == "aim":
            self.AnswerEdit.setStyleSheet("QLineEdit { color : green}")
        elif str(self.a) == "":
            pass
        else:
            self.AnswerEdit.setStyleSheet("QLineEdit { color : red}")

        if str(self.b) == "progressive" :
            self.lineEdit_2.setStyleSheet("QLineEdit { color : green}")
        elif str(self.b) == "" :
            pass
        else:
            self.lineEdit_2.setStyleSheet("QLineEdit { color : red}")

    def checkanswer2(self):
        if self.comboBox_1_1.currentText() == "Car":
            self.AnswerLabel_2.setText('good job')
# +++ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
            self.setStyleSheet(""" 
                QComboBox#comboBox_1_1 {
                    background: red;
                    color: #fff;
                }
                QLabel#AnswerLabel_2 {
                    background: red;
                    color: #fff;
                }
            """)
# +++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        else:
            self.AnswerLabel_2.setText("Try again")
            self.setStyleSheet("")                                       # +++



if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec_())
python
  • 1 个回答
  • 10 Views
Martin Hope
Mswork6
Asked: 2020-06-18 23:29:27 +0000 UTC

无法更改 QComboBox、PyQt5 的字体颜色

  • 1

我想实现它,以便当您为下拉列表选择正确的选项时,字体颜色或背景颜色(我不知道其中哪些可行,哪些不可行)更改为任何其他颜色,但我不知道该怎么做。

我怎样才能做到这一点?

编码:

from PyQt5 import QtCore, QtGui, QtWidgets 


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(732, 570)
        MainWindow.setDocumentMode(True)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(20, 20, 421, 81))
        self.label_2.setScaledContents(True)
        self.label_2.setWordWrap(True)
        self.label_2.setOpenExternalLinks(False)
        self.label_2.setObjectName("label_2")
        self.AnswerEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.AnswerEdit.setGeometry(QtCore.QRect(150, 50, 101, 16))
        self.AnswerEdit.setObjectName("AnswerEdit")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(20, 100, 401, 51))
        self.label.setWordWrap(True)
        self.label.setObjectName("label")
        self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_2.setGeometry(QtCore.QRect(120, 110, 101, 16))
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(20, 170, 411, 61))
        self.label_3.setObjectName("label_3")
        self.AnswerBox = QtWidgets.QComboBox(self.centralwidget)
        self.AnswerBox.setGeometry(QtCore.QRect(320, 190, 121, 22))
        self.AnswerBox.setStyleSheet("")
        self.AnswerBox.setObjectName("AnswerBox")
        self.AnswerBox.addItem("")
        self.AnswerBox.addItem("")
        self.AnswerBox.addItem("")
        self.AnswerBox.addItem("")
        self.CheckButton = QtWidgets.QPushButton(self.centralwidget)
        self.CheckButton.setGeometry(QtCore.QRect(500, 60, 121, 31))
        self.CheckButton.setObjectName("CheckButton")
        self.comboBox_1_1 = QtWidgets.QComboBox(self.centralwidget)
        self.comboBox_1_1.setGeometry(QtCore.QRect(20, 260, 111, 22))
        self.comboBox_1_1.setObjectName("comboBox_1_1")
        self.comboBox_1_1.addItem("")
        self.comboBox_1_1.addItem("")
        self.comboBox_1_1.addItem("")
        self.comboBox_1_3 = QtWidgets.QComboBox(self.centralwidget)
        self.comboBox_1_3.setGeometry(QtCore.QRect(20, 340, 111, 22))
        self.comboBox_1_3.setObjectName("comboBox_1_3")
        self.comboBox_1_3.addItem("")
        self.comboBox_1_3.addItem("")
        self.comboBox_1_3.addItem("")
        self.comboBox_1_2 = QtWidgets.QComboBox(self.centralwidget)
        self.comboBox_1_2.setGeometry(QtCore.QRect(20, 300, 111, 22))
        self.comboBox_1_2.setObjectName("comboBox_1_2")
        self.comboBox_1_2.addItem("")
        self.comboBox_1_2.addItem("")
        self.comboBox_1_2.addItem("")
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        self.label_4.setGeometry(QtCore.QRect(160, 260, 91, 21))
        self.label_4.setObjectName("label_4")
        self.label_5 = QtWidgets.QLabel(self.centralwidget)
        self.label_5.setGeometry(QtCore.QRect(160, 300, 91, 21))
        self.label_5.setObjectName("label_5")
        self.label_6 = QtWidgets.QLabel(self.centralwidget)
        self.label_6.setGeometry(QtCore.QRect(160, 340, 121, 21))
        self.label_6.setObjectName("label_6")
        self.AnswerLabel_2 = QtWidgets.QLabel(self.centralwidget)
        self.AnswerLabel_2.setGeometry(QtCore.QRect(290, 290, 81, 21))
        self.AnswerLabel_2.setObjectName("AnswerLabel_2")
        self.CheckButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.CheckButton_2.setGeometry(QtCore.QRect(50, 390, 111, 31))
        self.CheckButton_2.setObjectName("CheckButton_2")
        self.AnswerLabel = QtWidgets.QLabel(self.centralwidget)
        self.AnswerLabel.setGeometry(QtCore.QRect(520, 110, 91, 21))
        self.AnswerLabel.setObjectName("AnswerLabel")
        self.WordBox_1_1 = QtWidgets.QComboBox(self.centralwidget)
        self.WordBox_1_1.setGeometry(QtCore.QRect(390, 260, 111, 22))
        self.WordBox_1_1.setObjectName("WordBox_1_1")
        self.WordBox_1_1.addItem("")
        self.WordBox_1_1.addItem("")
        self.WordBox_1_1.addItem("")
        self.DescBox_1_1 = QtWidgets.QComboBox(self.centralwidget)
        self.DescBox_1_1.setGeometry(QtCore.QRect(530, 260, 111, 22))
        self.DescBox_1_1.setObjectName("DescBox_1_1")
        self.DescBox_1_1.addItem("")
        self.DescBox_1_1.addItem("")
        self.DescBox_1_1.addItem("")
        self.AnswerLabel_3 = QtWidgets.QLabel(self.centralwidget)
        self.AnswerLabel_3.setGeometry(QtCore.QRect(650, 290, 61, 21))
        self.AnswerLabel_3.setObjectName("AnswerLabel_3")
        self.CheckButton_3 = QtWidgets.QPushButton(self.centralwidget)
        self.CheckButton_3.setGeometry(QtCore.QRect(430, 390, 111, 31))
        self.CheckButton_3.setObjectName("CheckButton_3")
        self.WordBox_1_2 = QtWidgets.QComboBox(self.centralwidget)
        self.WordBox_1_2.setGeometry(QtCore.QRect(390, 290, 111, 22))
        self.WordBox_1_2.setObjectName("WordBox_1_2")
        self.WordBox_1_2.addItem("")
        self.WordBox_1_2.addItem("")
        self.WordBox_1_2.addItem("")
        self.WordBox_1_3 = QtWidgets.QComboBox(self.centralwidget)
        self.WordBox_1_3.setGeometry(QtCore.QRect(390, 320, 111, 22))
        self.WordBox_1_3.setObjectName("WordBox_1_3")
        self.WordBox_1_3.addItem("")
        self.WordBox_1_3.addItem("")
        self.WordBox_1_3.addItem("")
        self.DescBox_1_3 = QtWidgets.QComboBox(self.centralwidget)
        self.DescBox_1_3.setGeometry(QtCore.QRect(530, 320, 111, 22))
        self.DescBox_1_3.setObjectName("DescBox_1_3")
        self.DescBox_1_3.addItem("")
        self.DescBox_1_3.addItem("")
        self.DescBox_1_3.addItem("")
        self.DescBox_1_2 = QtWidgets.QComboBox(self.centralwidget)
        self.DescBox_1_2.setGeometry(QtCore.QRect(530, 290, 111, 22))
        self.DescBox_1_2.setObjectName("DescBox_1_2")
        self.DescBox_1_2.addItem("")
        self.DescBox_1_2.addItem("")
        self.DescBox_1_2.addItem("")
        self.CheckButton_4 = QtWidgets.QPushButton(self.centralwidget)
        self.CheckButton_4.setGeometry(QtCore.QRect(480, 190, 81, 23))
        self.CheckButton_4.setObjectName("CheckButton_4")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 732, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label_2.setText(_translate("MainWindow", "This is a test text. It\'s main                                    is to understand what can i do and how it is possible to create"))
        self.label.setText(_translate("MainWindow", "This programm is so                                     (progress) and gives me a lot of abillities and it is awesome"))
        self.label_3.setText(_translate("MainWindow", "There are two versions of this programms and they are really "))
        self.AnswerBox.setItemText(0, _translate("MainWindow", "Choose a word"))
        self.AnswerBox.setItemText(1, _translate("MainWindow", "difference"))
        self.AnswerBox.setItemText(2, _translate("MainWindow", "different"))
        self.AnswerBox.setItemText(3, _translate("MainWindow", "indifferent"))
        self.CheckButton.setText(_translate("MainWindow", "Check"))
        self.comboBox_1_1.setItemText(0, _translate("MainWindow", "Car"))
        self.comboBox_1_1.setItemText(1, _translate("MainWindow", "Plane"))
        self.comboBox_1_1.setItemText(2, _translate("MainWindow", "Boat"))
        self.comboBox_1_3.setItemText(0, _translate("MainWindow", "Car"))
        self.comboBox_1_3.setItemText(1, _translate("MainWindow", "Plane"))
        self.comboBox_1_3.setItemText(2, _translate("MainWindow", "Boat"))
        self.comboBox_1_2.setItemText(0, _translate("MainWindow", "Car"))
        self.comboBox_1_2.setItemText(1, _translate("MainWindow", "Plane"))
        self.comboBox_1_2.setItemText(2, _translate("MainWindow", "Boat"))
        self.label_4.setText(_translate("MainWindow", "moves in the air"))
        self.label_5.setText(_translate("MainWindow", "goes on the road"))
        self.label_6.setText(_translate("MainWindow", "moves on the water"))
        self.AnswerLabel_2.setText(_translate("MainWindow", "TextLabel"))
        self.CheckButton_2.setText(_translate("MainWindow", "Check"))
        self.AnswerLabel.setText(_translate("MainWindow", "TextLabel"))
        self.WordBox_1_1.setItemText(0, _translate("MainWindow", "Car"))
        self.WordBox_1_1.setItemText(1, _translate("MainWindow", "Plane"))
        self.WordBox_1_1.setItemText(2, _translate("MainWindow", "Boat"))
        self.DescBox_1_1.setItemText(0, _translate("MainWindow", "moves on the road"))
        self.DescBox_1_1.setItemText(1, _translate("MainWindow", "moves on the water"))
        self.DescBox_1_1.setItemText(2, _translate("MainWindow", "moves in the air"))
        self.AnswerLabel_3.setText(_translate("MainWindow", "TextLabel"))
        self.CheckButton_3.setText(_translate("MainWindow", "Check"))
        self.WordBox_1_2.setItemText(0, _translate("MainWindow", "Car"))
        self.WordBox_1_2.setItemText(1, _translate("MainWindow", "Plane"))
        self.WordBox_1_2.setItemText(2, _translate("MainWindow", "Boat"))
        self.WordBox_1_3.setItemText(0, _translate("MainWindow", "Car"))
        self.WordBox_1_3.setItemText(1, _translate("MainWindow", "Plane"))
        self.WordBox_1_3.setItemText(2, _translate("MainWindow", "Boat"))
        self.DescBox_1_3.setItemText(0, _translate("MainWindow", "moves on the road"))
        self.DescBox_1_3.setItemText(1, _translate("MainWindow", "moves on the water"))
        self.DescBox_1_3.setItemText(2, _translate("MainWindow", "moves in the air"))
        self.DescBox_1_2.setItemText(0, _translate("MainWindow", "moves on the road"))
        self.DescBox_1_2.setItemText(1, _translate("MainWindow", "moves on the water"))
        self.DescBox_1_2.setItemText(2, _translate("MainWindow", "moves in the air"))
        self.CheckButton_4.setText(_translate("MainWindow", "Check"))

class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()

        self.setupUi(self)


        self.CheckButton.clicked.connect(self.checkanswer1)
        self.CheckButton_2.clicked.connect(self.checkanswer2)
        

        self.a = " "
        self.b = " "




    def setanswer1(self):
        self.a = self.AnswerEdit.text()
        self.b = self.lineEdit_2.text()

    def checkanswer1(self):
        self.setanswer1()
        
        if str(self.a) == "aim":
            self.AnswerEdit.setStyleSheet("QLineEdit { color : green}")
        elif str(self.a) == "":
            pass
        else:
            self.AnswerEdit.setStyleSheet("QLineEdit { color : red}")

        if str(self.b) == "progressive" :
            self.lineEdit_2.setStyleSheet("QLineEdit { color : green}")
        elif str(self.b) == "" :
            pass
        else:
            self.lineEdit_2.setStyleSheet("QLineEdit { color : red}")


        

    def checkanswer2(self):

        if self.comboBox_1_1.currentText() == "Car":
            self.AnswerLabel_2.setText('good job')
        else:
            self.AnswerLabel_2.setText("Try again")




if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    #MainWindow = QtWidgets.QMainWindow()
    #ui = Ui_MainWindow()
    #ui.setupUi(MainWindow)
    #MainWindow.show()
    w = MainWindow()
    w.show()
    sys.exit(app.exec_())
python
  • 1 个回答
  • 10 Views
Martin Hope
Mswork6
Asked: 2020-06-18 16:03:54 +0000 UTC

无法按列PyQt5对单词进行排序

  • 1

我想实现按列对单词进行排序,但是,无论我输入什么信息,它仍然会显示正确的答案。为什么会这样?

编码:

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
def setupUi(self, MainWindow):
    MainWindow.setObjectName("MainWindow")
    MainWindow.resize(688, 548)
    self.centralwidget = QtWidgets.QWidget(MainWindow)
    self.centralwidget.setObjectName("centralwidget")
    self.verticalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
    self.verticalLayoutWidget.setGeometry(QtCore.QRect(30, 40, 160, 221))
    self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
    self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
    self.verticalLayout.setContentsMargins(0, 0, 0, 0)
    self.verticalLayout.setObjectName("verticalLayout")
    self.AnswerLine = QtWidgets.QLineEdit(self.verticalLayoutWidget)
    self.AnswerLine.setObjectName("AnswerLine")
    self.verticalLayout.addWidget(self.AnswerLine)
    self.AnswerLine2 = QtWidgets.QLineEdit(self.verticalLayoutWidget)
    self.AnswerLine2.setObjectName("AnswerLine2")
    self.verticalLayout.addWidget(self.AnswerLine2)
    self.AnswerLine3 = QtWidgets.QLineEdit(self.verticalLayoutWidget)
    self.AnswerLine3.setObjectName("AnswerLine3")
    self.verticalLayout.addWidget(self.AnswerLine3)
    self.AnswerLine4 = QtWidgets.QLineEdit(self.verticalLayoutWidget)
    self.AnswerLine4.setObjectName("AnswerLine4")
    self.verticalLayout.addWidget(self.AnswerLine4)
    self.SetButton = QtWidgets.QPushButton(self.centralwidget)
    self.SetButton.setGeometry(QtCore.QRect(10, 290, 101, 41))
    self.SetButton.setObjectName("SetButton")
    self.CheckButton = QtWidgets.QPushButton(self.centralwidget)
    self.CheckButton.setGeometry(QtCore.QRect(120, 290, 111, 41))
    self.CheckButton.setObjectName("CheckButton")
    self.label = QtWidgets.QLabel(self.centralwidget)
    self.label.setGeometry(QtCore.QRect(20, 420, 341, 91))
    self.label.setObjectName("label")
    self.label_2 = QtWidgets.QLabel(self.centralwidget)
    self.label_2.setGeometry(QtCore.QRect(40, 350, 151, 41))
    self.label_2.setObjectName("label_2")
    self.verticalLayoutWidget_2 = QtWidgets.QWidget(self.centralwidget)
    self.verticalLayoutWidget_2.setGeometry(QtCore.QRect(370, 30, 160, 221))
    self.verticalLayoutWidget_2.setObjectName("verticalLayoutWidget_2")
    self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_2)
    self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
    self.verticalLayout_2.setObjectName("verticalLayout_2")
    self.AnswerLine_2 = QtWidgets.QLineEdit(self.verticalLayoutWidget_2)
    self.AnswerLine_2.setObjectName("AnswerLine_2")
    self.verticalLayout_2.addWidget(self.AnswerLine_2)
    self.AnswerLine2_2 = QtWidgets.QLineEdit(self.verticalLayoutWidget_2)
    self.AnswerLine2_2.setObjectName("AnswerLine2_2")
    self.verticalLayout_2.addWidget(self.AnswerLine2_2)
    self.AnswerLine3_2 = QtWidgets.QLineEdit(self.verticalLayoutWidget_2)
    self.AnswerLine3_2.setObjectName("AnswerLine3_2")
    self.verticalLayout_2.addWidget(self.AnswerLine3_2)
    self.AnswerLine4_2 = QtWidgets.QLineEdit(self.verticalLayoutWidget_2)
    self.AnswerLine4_2.setObjectName("AnswerLine4_2")
    self.verticalLayout_2.addWidget(self.AnswerLine4_2)
    self.SetButton_2 = QtWidgets.QPushButton(self.centralwidget)
    self.SetButton_2.setGeometry(QtCore.QRect(350, 280, 101, 41))
    self.SetButton_2.setObjectName("SetButton_2")
    self.CheckButton_2 = QtWidgets.QPushButton(self.centralwidget)
    self.CheckButton_2.setGeometry(QtCore.QRect(460, 280, 111, 41))
    self.CheckButton_2.setObjectName("CheckButton_2")
    self.label_3 = QtWidgets.QLabel(self.centralwidget)
    self.label_3.setGeometry(QtCore.QRect(390, 340, 151, 41))
    self.label_3.setObjectName("label_3")
    MainWindow.setCentralWidget(self.centralwidget)
    self.menubar = QtWidgets.QMenuBar(MainWindow)
    self.menubar.setGeometry(QtCore.QRect(0, 0, 688, 21))
    self.menubar.setObjectName("menubar")
    MainWindow.setMenuBar(self.menubar)
    self.statusbar = QtWidgets.QStatusBar(MainWindow)
    self.statusbar.setObjectName("statusbar")
    MainWindow.setStatusBar(self.statusbar)

    self.retranslateUi(MainWindow)
    QtCore.QMetaObject.connectSlotsByName(MainWindow)

    self.SetButton.clicked.connect(self.setanswer)
    self.CheckButton.clicked.connect(self.checkanswer)
    self.SetButton_2.clicked.connect(self.setanswer2)
    self.CheckButton_2.clicked.connect(self.checkanswer2)

def setanswer(self):
    self.a = self.AnswerLine.text()
    self.b = self.AnswerLine2.text()
    self.c = self.AnswerLine3.text()
    self.d = self.AnswerLine4.text()

def checkanswer(self):
    if str(self.a) == "Car" or "Plane" or "Boat" or "Rocket" and\
    str(self.b) == "Car" or "Plane" or "Boat" or "Rocket" and\
    str(self.c) == "Car" or "Plane" or "Boat" or "Rocket" and\
    str(self.d) == "Car" or "Plane" or "Boat" or "Rocket":
        self.label_2.setText("Well done!")
    else:
        self.label_2.setText("No(")

def setanswer2(self):
    self.a1 = self.AnswerLine_2.text()
    self.b1 = self.AnswerLine2_2.text()
    self.c1 = self.AnswerLine3_2.text()
    self.d1 = self.AnswerLine4_2.text()

def checkanswer2(self):
    if str(self.a1) == "Building" or "Home" or "Flat" or "Room" and\
    str(self.b1) == "Building" or "Home" or "Flat" or "Room" and\
    str(self.c1) == "Building" or "Home" or "Flat" or "Room" and\
    str(self.d1) == "Building" or "Home" or "Flat" or "Room":
        self.label_3.setText("Well Done!")

    else:
        self.label_3.setText("Please Try Again")

 def retranslateUi(self, MainWindow):
    _translate = QtCore.QCoreApplication.translate
    MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
    self.SetButton.setText(_translate("MainWindow", "Set Answers"))
    self.CheckButton.setText(_translate("MainWindow", "Check Answer"))
    self.label.setText(_translate("MainWindow", "List of words: Car, Plane, Boat, Rocket, Building, Home, Flat, Room"))
    self.label_2.setText(_translate("MainWindow", "TextLabel"))
    self.SetButton_2.setText(_translate("MainWindow", "Set Answers"))
    self.CheckButton_2.setText(_translate("MainWindow", "Check Answer"))
    self.label_3.setText(_translate("MainWindow", "TextLabel"))

if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
python
  • 1 个回答
  • 10 Views
Martin Hope
Mswork6
Asked: 2020-06-16 20:28:20 +0000 UTC

图像未显示在 Pyqt5 窗口中,引发错误

  • 2

我想在我的应用程序中实现一张图片,但是当我打开应用程序时,控制台出现问题:

无法从 :\1\1.png
创建像素图 无法从 :\1\1.png 创建像素图 无法从 :\1\1.png
创建像素图

并且有一个类似的文件,其中所有内容都可以正常工作。我无法弄清楚为什么会发生错误。

TaskWindow301- 图片应该在的窗口(我在图片中插入Qlabel)

from PyQt5 import QtCore, QtGui, QtWidgets
    
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(534, 498)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(130, 220, 231, 31))
        self.label_2.setAlignment(QtCore.Qt.AlignCenter)
        self.label_2.setObjectName("label_2")
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(70, 260, 61, 31))
        self.label_3.setObjectName("label_3")
        self.AnswerEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.AnswerEdit.setGeometry(QtCore.QRect(140, 270, 141, 20))
        self.AnswerEdit.setObjectName("AnswerEdit")
        self.SetButton = QtWidgets.QPushButton(self.centralwidget)
        self.SetButton.setGeometry(QtCore.QRect(100, 310, 101, 31))
        self.SetButton.setObjectName("SetButton")
        self.CheckButton = QtWidgets.QPushButton(self.centralwidget)
        self.CheckButton.setGeometry(QtCore.QRect(260, 310, 111, 31))
        self.CheckButton.setObjectName("CheckButton")
        self.AnswerLabel = QtWidgets.QLabel(self.centralwidget)
        self.AnswerLabel.setGeometry(QtCore.QRect(320, 270, 101, 21))
        self.AnswerLabel.setText("")
        self.AnswerLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.AnswerLabel.setObjectName("AnswerLabel")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(90, 380, 131, 51))
        self.pushButton.setObjectName("pushButton")
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(250, 380, 131, 51))
        self.pushButton_2.setObjectName("pushButton_2")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(100, 50, 261, 161))
        self.label.setStyleSheet("background-image: url(:/1/1.png);")
        self.label.setText("")
        self.label.setPixmap(QtGui.QPixmap(":/1/1.png"))
        self.label.setScaledContents(True)
        self.label.setObjectName("label")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 534, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
    
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
    
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label_2.setText(_translate("MainWindow", "What do you see on this photo?"))
        self.label_3.setText(_translate("MainWindow", "Type here:"))
        self.SetButton.setText(_translate("MainWindow", "Set Answer"))
        self.CheckButton.setText(_translate("MainWindow", "Check Answer"))
        self.pushButton.setText(_translate("MainWindow", "Go to previous test"))
        self.pushButton_2.setText(_translate("MainWindow", "Go to contests"))
    import kik_rc
    
if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

kik_rc我无法附加文件,因为代码行很多。这是此文件的开头和结尾

from PyQt5 import QtCore
qt_resource_data = b"\
qt_version = [int(v) for v in QtCore.qVersion().split('.')]
if qt_version < [5, 8, 0]:
    rcc_version = 1
    qt_resource_struct = qt_resource_struct_v1
else:
    rcc_version = 2
    qt_resource_struct = qt_resource_struct_v2

def qInitResources():
    QtCore.qRegisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data)

def qCleanupResources():
    QtCore.qUnregisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data)

qInitResources()

好吧,照片本身,虽然这里几乎不需要在此处输入图像描述

python
  • 1 个回答
  • 10 Views
Martin Hope
Mswork6
Asked: 2020-06-15 17:00:47 +0000 UTC

PyQt5 错误 AtributeError: 'Ui_TaskWindow_1' 对象没有属性 'ContentsButton'

  • 1

当我尝试通过按下另一个按钮打开一个窗口时,出现错误:

self.Taskwindow1.ContentsButton.clicked.connect(gotomain) AtributeError: 'Ui_TaskWindow_1' 对象没有属性 'ContentsButton'

我是初学者,刚开始学习PyQt5,第二个窗口的初始化不起作用似乎是一个错误,但我不知道如何修复它。

帮助解决这个问题。(界面做在Qt Designer)

内容窗口.py

from PyQt5 import QtCore, QtGui, QtWidgets
import TaskWindow1

class Ui_ContentsMenu(object):

def gototask1(self):
    self.TaskWindow1 = TaskWindow1.Ui_TaskWindow_1()
    self.TaskWindow1.ContentsButton.clicked.connect(gotomain)
    self.TaskWindow1.show()
    self.hide()
    

def gotomaim(self):
    self.show()
    self.TaskWindow1.hide()
    


def setupUi(self, ContentsMenu):
    ContentsMenu.setObjectName("ContentsMenu")
    ContentsMenu.resize(649, 481)
    self.centralwidget = QtWidgets.QWidget(ContentsMenu)
    self.centralwidget.setObjectName("centralwidget")
    self.gridLayoutWidget = QtWidgets.QWidget(self.centralwidget)
    self.gridLayoutWidget.setGeometry(QtCore.QRect(30, 120, 301, 261))
    self.gridLayoutWidget.setObjectName("gridLayoutWidget")
    self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
    self.gridLayout.setContentsMargins(0, 0, 0, 0)
    self.gridLayout.setObjectName("gridLayout")
    self.pushButton_3 = QtWidgets.QPushButton(self.gridLayoutWidget)
    self.pushButton_3.setObjectName("pushButton_3")
    self.gridLayout.addWidget(self.pushButton_3, 0, 0, 1, 1)
    self.pushButton_2 = QtWidgets.QPushButton(self.gridLayoutWidget)
    self.pushButton_2.setObjectName("pushButton_2")
    self.gridLayout.addWidget(self.pushButton_2, 2, 0, 1, 1)
    self.pushButton = QtWidgets.QPushButton(self.gridLayoutWidget)
    self.pushButton.setObjectName("pushButton")
    self.gridLayout.addWidget(self.pushButton, 1, 0, 1, 1)
    self.pushButton_4 = QtWidgets.QPushButton(self.gridLayoutWidget)
    self.pushButton_4.setObjectName("pushButton_4")
    self.gridLayout.addWidget(self.pushButton_4, 0, 1, 1, 1)
    self.pushButton_5 = QtWidgets.QPushButton(self.gridLayoutWidget)
    self.pushButton_5.setObjectName("pushButton_5")
    self.gridLayout.addWidget(self.pushButton_5, 1, 1, 1, 1)
    self.pushButton_6 = QtWidgets.QPushButton(self.gridLayoutWidget)
    self.pushButton_6.setObjectName("pushButton_6")
    self.gridLayout.addWidget(self.pushButton_6, 2, 1, 1, 1)
    self.label = QtWidgets.QLabel(self.centralwidget)
    self.label.setGeometry(QtCore.QRect(200, 20, 261, 71))
    font = QtGui.QFont()
    font.setFamily("Arial")
    font.setPointSize(14)
    self.label.setFont(font)
    self.label.setAlignment(QtCore.Qt.AlignCenter)
    self.label.setObjectName("label")
    self.label_2 = QtWidgets.QLabel(self.centralwidget)
    self.label_2.setGeometry(QtCore.QRect(410, 180, 171, 71))
    font = QtGui.QFont()
    font.setFamily("Arial")
    font.setPointSize(14)
    self.label_2.setFont(font)
    self.label_2.setText("")
    self.label_2.setAlignment(QtCore.Qt.AlignCenter)
    self.label_2.setObjectName("label_2")
    ContentsMenu.setCentralWidget(self.centralwidget)
    self.menubar = QtWidgets.QMenuBar(ContentsMenu)
    self.menubar.setGeometry(QtCore.QRect(0, 0, 649, 21))
    self.menubar.setObjectName("menubar")
    ContentsMenu.setMenuBar(self.menubar)
    self.statusbar = QtWidgets.QStatusBar(ContentsMenu)
    self.statusbar.setObjectName("statusbar")
    ContentsMenu.setStatusBar(self.statusbar)
    self.retranslateUi(ContentsMenu)
    QtCore.QMetaObject.connectSlotsByName(ContentsMenu)


    self.pushButton_3.clicked.connect(self.gototask1)

def retranslateUi(self, ContentsMenu):
    _translate = QtCore.QCoreApplication.translate
    ContentsMenu.setWindowTitle(_translate("ContentsMenu", "MainWindow"))
    self.pushButton_3.setText(_translate("ContentsMenu", "Task 1"))
    self.pushButton_2.setText(_translate("ContentsMenu", "Task 3"))
    self.pushButton.setText(_translate("ContentsMenu", "Task 2"))
    self.pushButton_4.setText(_translate("ContentsMenu", "Task 4"))
    self.pushButton_5.setText(_translate("ContentsMenu", "Task 5"))
    self.pushButton_6.setText(_translate("ContentsMenu", "Task 6"))
    self.label.setText(_translate("ContentsMenu", "Contents Table"))

if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
ContentsMenu = QtWidgets.QMainWindow()
ui = Ui_ContentsMenu()
ui.setupUi(ContentsMenu)
ContentsMenu.show()
sys.exit(app.exec_())

任务窗口1.py

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_TaskWindow_1(object):


def setupUi(self, TaskWindow_1):
    TaskWindow_1.setObjectName("TaskWindow_1")
    TaskWindow_1.resize(689, 456)
    self.centralwidget = QtWidgets.QWidget(TaskWindow_1)
    self.centralwidget.setObjectName("centralwidget")
    self.label = QtWidgets.QLabel(self.centralwidget)
    self.label.setGeometry(QtCore.QRect(30, 30, 351, 71))
    font = QtGui.QFont()
    font.setFamily("Arial")
    font.setPointSize(12)
    self.label.setFont(font)
    self.label.setAlignment(QtCore.Qt.AlignCenter)
    self.label.setObjectName("label")
    self.VideoButton = QtWidgets.QPushButton(self.centralwidget)
    self.VideoButton.setGeometry(QtCore.QRect(380, 50, 141, 31))
    font = QtGui.QFont()
    font.setUnderline(True)
    self.VideoButton.setFont(font)
    self.VideoButton.setObjectName("VideoButton")
    self.QuestionLabel_1 = QtWidgets.QLabel(self.centralwidget)
    self.QuestionLabel_1.setGeometry(QtCore.QRect(30, 120, 191, 41))
    self.QuestionLabel_1.setObjectName("QuestionLabel_1")
    self.gridLayoutWidget = QtWidgets.QWidget(self.centralwidget)
    self.gridLayoutWidget.setGeometry(QtCore.QRect(20, 160, 131, 131))
    self.gridLayoutWidget.setObjectName("gridLayoutWidget")
    self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
    self.gridLayout.setContentsMargins(0, 0, 0, 0)
    self.gridLayout.setObjectName("gridLayout")
    self.AnswerButton_1_2 = QtWidgets.QPushButton(self.gridLayoutWidget)
    self.AnswerButton_1_2.setObjectName("AnswerButton_1_2")
    self.gridLayout.addWidget(self.AnswerButton_1_2, 1, 0, 1, 1)
    self.AnswerButton_1_3 = QtWidgets.QPushButton(self.gridLayoutWidget)
    self.AnswerButton_1_3.setObjectName("AnswerButton_1_3")
    self.gridLayout.addWidget(self.AnswerButton_1_3, 2, 0, 1, 1)
    self.AnswerButton_1_1 = QtWidgets.QPushButton(self.gridLayoutWidget)
    self.AnswerButton_1_1.setObjectName("AnswerButton_1_1")
    self.gridLayout.addWidget(self.AnswerButton_1_1, 0, 0, 1, 1)
    self.AnswerLabel_1 = QtWidgets.QLabel(self.centralwidget)
    self.AnswerLabel_1.setGeometry(QtCore.QRect(190, 190, 121, 41))
    font = QtGui.QFont()
    font.setFamily("Arial")
    self.AnswerLabel_1.setFont(font)
    self.AnswerLabel_1.setText("")
    self.AnswerLabel_1.setAlignment(QtCore.Qt.AlignCenter)
    self.AnswerLabel_1.setObjectName("AnswerLabel_1")
    self.gridLayoutWidget_2 = QtWidgets.QWidget(self.centralwidget)
    self.gridLayoutWidget_2.setGeometry(QtCore.QRect(350, 160, 185, 161))
    self.gridLayoutWidget_2.setObjectName("gridLayoutWidget_2")
    self.gridLayout_2 = QtWidgets.QGridLayout(self.gridLayoutWidget_2)
    self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
    self.gridLayout_2.setObjectName("gridLayout_2")
    self.AnswerBox_2_1 = QtWidgets.QCheckBox(self.gridLayoutWidget_2)
    self.AnswerBox_2_1.setObjectName("AnswerBox_2_1")
    self.gridLayout_2.addWidget(self.AnswerBox_2_1, 0, 0, 1, 1)
    self.AnswerBox_2_3 = QtWidgets.QCheckBox(self.gridLayoutWidget_2)
    self.AnswerBox_2_3.setObjectName("AnswerBox_2_3")
    self.gridLayout_2.addWidget(self.AnswerBox_2_3, 2, 0, 1, 1)
    self.AnswerBox_2_2 = QtWidgets.QCheckBox(self.gridLayoutWidget_2)
    self.AnswerBox_2_2.setObjectName("AnswerBox_2_2")
    self.gridLayout_2.addWidget(self.AnswerBox_2_2, 1, 0, 1, 1)
    self.AnswerBox_2_4 = QtWidgets.QCheckBox(self.gridLayoutWidget_2)
    self.AnswerBox_2_4.setObjectName("AnswerBox_2_4")
    self.gridLayout_2.addWidget(self.AnswerBox_2_4, 3, 0, 1, 1)
    self.QuestionLabel_2 = QtWidgets.QLabel(self.centralwidget)
    self.QuestionLabel_2.setGeometry(QtCore.QRect(350, 110, 191, 41))
    self.QuestionLabel_2.setAlignment(QtCore.Qt.AlignCenter)
    self.QuestionLabel_2.setObjectName("QuestionLabel_2")
    self.AnswerLabel_2 = QtWidgets.QLabel(self.centralwidget)
    self.AnswerLabel_2.setGeometry(QtCore.QRect(550, 200, 121, 41))
    font = QtGui.QFont()
    font.setFamily("Arial")
    self.AnswerLabel_2.setFont(font)
    self.AnswerLabel_2.setText("")
    self.AnswerLabel_2.setAlignment(QtCore.Qt.AlignCenter)
    self.AnswerLabel_2.setObjectName("AnswerLabel_2")
    self.ContentsButton = QtWidgets.QPushButton(self.centralwidget)
    self.ContentsButton.setGeometry(QtCore.QRect(480, 360, 141, 41))
    font = QtGui.QFont()
    font.setUnderline(True)
    self.ContentsButton.setFont(font)
    self.ContentsButton.setObjectName("ContentsButton")
    TaskWindow_1.setCentralWidget(self.centralwidget)
    self.menubar = QtWidgets.QMenuBar(TaskWindow_1)
    self.menubar.setGeometry(QtCore.QRect(0, 0, 689, 21))
    self.menubar.setObjectName("menubar")
    TaskWindow_1.setMenuBar(self.menubar)
    self.statusbar = QtWidgets.QStatusBar(TaskWindow_1)
    self.statusbar.setObjectName("statusbar")
    TaskWindow_1.setStatusBar(self.statusbar)
    self.retranslateUi(TaskWindow_1)
    QtCore.QMetaObject.connectSlotsByName(TaskWindow_1)

    


def retranslateUi(self, TaskWindow_1):
    _translate = QtCore.QCoreApplication.translate
    TaskWindow_1.setWindowTitle(_translate("TaskWindow_1", "MainWindow"))
    self.label.setText(_translate("TaskWindow_1", "Watch the Video and answer the  questions:"))
    self.VideoButton.setText(_translate("TaskWindow_1", "Open Video"))
    self.QuestionLabel_1.setText(_translate("TaskWindow_1", "Who was the main hero of the video?"))
    self.AnswerButton_1_2.setText(_translate("TaskWindow_1", "A girl"))
    self.AnswerButton_1_3.setText(_translate("TaskWindow_1", "A dog"))
    self.AnswerButton_1_1.setText(_translate("TaskWindow_1", "A boy"))
    self.AnswerBox_2_1.setText(_translate("TaskWindow_1", "The girl was doing sports"))
    self.AnswerBox_2_3.setText(_translate("TaskWindow_1", "The girl was sleeping"))
    self.AnswerBox_2_2.setText(_translate("TaskWindow_1", "The girl was wearing a dress"))
    self.AnswerBox_2_4.setText(_translate("TaskWindow_1", "The girls was wearing sport outfit"))
    self.QuestionLabel_2.setText(_translate("TaskWindow_1", "What was happening in the video?"))
    self.ContentsButton.setText(_translate("TaskWindow_1", "Go to contents"))

if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
TaskWindow_1 = QtWidgets.QMainWindow()
ui = Ui_TaskWindow_1()
ui.setupUi(TaskWindow_1)
TaskWindow_1.show()
sys.exit(app.exec_())
python
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5