1685385420
В этом руководстве по PyQt5 мы узнаем, что такое QDialog? Как открыть новый диалог нажатием кнопки в PyQt5. PyQt5 Открыть второй диалог, нажав кнопку
В этой статье PyQt5 я хочу показать, как открыть второй диалог, нажав кнопку в PyQt5. мы собираемся использовать класс QDialog для этой статьи, диалоговое окно — это окно верхнего уровня, в основном используемое для краткосрочных задач и краткого общения с пользователем. QDialogs могут быть модальными или немодальными.
Класс QDialog является подклассом класса QWidget в PyQt5. он предоставляет диалоговое окно, которое можно использовать для отображения сообщений, запроса ввода данных пользователем или выполнения определенных действий.
Диалоговые окна обычно используются в приложениях с графическим пользовательским интерфейсом (GUI) для взаимодействия с пользователями, запроса ввода данных и отображения сообщений или предупреждений. Класс QDialog предоставляет различные функции и функции для создания пользовательских диалогов, в том числе:
Кроме того, класс QDialog предоставляет несколько сигналов и слотов для связи с другими виджетами и компонентами в приложении, что делает его мощным инструментом для создания сложных и интерактивных пользовательских интерфейсов.
Итак, теперь это полный код для открытия второго диалога PyQt5 нажатием кнопки.
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QDialog, QVBoxLayout
import sys
class Window(QWidget):
def __init__(self):
super().__init__()
self.title = "PyQt5 Window"
self.top = 200
self.left = 500
self.width = 400
self.height = 300
self.InitWindow()
def InitWindow(self):
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
vbox = QVBoxLayout()
self.btn = QPushButton("Open Second Dialog")
self.btn.setFont(QtGui.QFont("Sanserif", 15))
self.btn.clicked.connect(self.openSecondDialog)
vbox.addWidget(self.btn)
self.setLayout(vbox)
self.show()
def openSecondDialog(self):
mydialog = QDialog(self)
#mydialog.setModal(True)
#mydialog.exec()
mydialog.show()
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec_())
Это инициализация наших требований к окну, таких как заголовок и геометрия.
self.title = "PyQt5 Window"
self.top = 200
self.left = 500
self.width = 400
self.height = 300
Хорошо, теперь здесь мы собираемся установить значок нашего окна, заголовок окна и геометрию окна. убедитесь, что вы добавили значок в свой рабочий каталог.
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
Также нам нужно создать макет, и мы собираемся использовать QVBoxLayout.
vbox = QVBoxLayout()
Здесь мы создали объект QPushButton, потому что мы хотим, чтобы при нажатии пользователем кнопки открывался новый диалог. также мы соединили сигнал щелчка QPushButton со слотом или методом openSecondDialog() .
self.btn = QPushButton("Open Second Dialog")
self.btn.setFont(QtGui.QFont("Sanserif", 15))
self.btn.clicked.connect(self.openSecondDialog)
Также нам нужно добавить нашу кнопку в QVBoxLayout, также мы установили макет vbox для нашего главного окна.
vbox.addWidget(self.btn)
self.setLayout(vbox)
Также каждое приложение PyQt5 должно создавать объект приложения.
App = QApplication(sys.argv)
Наконец, мы входим в основной цикл приложения. Обработка события начинается с этой точки.
window = Window()
sys.exit(App.exec())
Запустите полный код, и это будет результатом.
PyQt5 Открыть второй диалог, нажав кнопку
Также вы можете посмотреть полное видео к этой статье
Источник статьи: https://codeloop.org
1685375460
Trong hướng dẫn PyQt5 này, chúng ta sẽ tìm hiểu về QDialog là gì?. Cách mở Hộp thoại mới bằng nút bấm trong PyQt5. PyQt5 Mở hộp thoại thứ hai bằng cách nhấp vào nút
Trong bài viết PyQt5 này , tôi muốn trình bày cách Mở hộp thoại thứ hai bằng cách nhấp vào nút trong PyQt5. chúng ta sẽ sử dụng lớp QDialog cho bài viết này, cửa sổ hộp thoại là cửa sổ cấp cao nhất chủ yếu được sử dụng cho các tác vụ ngắn hạn và liên lạc ngắn với người dùng. QDialogs có thể là phương thức hoặc không có mô hình.
Lớp QDialog là lớp con của lớp QWidget trong PyQt5. nó cung cấp cửa sổ hộp thoại có thể được sử dụng để hiển thị thông báo, yêu cầu người dùng nhập hoặc thực hiện các hành động cụ thể.
Các hộp thoại thường được sử dụng trong các ứng dụng giao diện người dùng đồ họa (GUI) để tương tác với người dùng, nhắc họ nhập liệu và hiển thị thông báo hoặc cảnh báo. Lớp QDialog cung cấp các tính năng và chức năng khác nhau để tạo hộp thoại tùy chỉnh, bao gồm:
Ngoài ra, lớp QDialog cung cấp một số tín hiệu và khe cắm để giao tiếp với các tiện ích và thành phần khác trong ứng dụng, làm cho nó trở thành một công cụ mạnh mẽ để xây dựng các giao diện người dùng tương tác và phức tạp.
Vì vậy, bây giờ đây là mã hoàn chỉnh cho Hộp thoại thứ hai mở PyQt5 bằng cách nhấp vào nút.
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QDialog, QVBoxLayout
import sys
class Window(QWidget):
def __init__(self):
super().__init__()
self.title = "PyQt5 Window"
self.top = 200
self.left = 500
self.width = 400
self.height = 300
self.InitWindow()
def InitWindow(self):
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
vbox = QVBoxLayout()
self.btn = QPushButton("Open Second Dialog")
self.btn.setFont(QtGui.QFont("Sanserif", 15))
self.btn.clicked.connect(self.openSecondDialog)
vbox.addWidget(self.btn)
self.setLayout(vbox)
self.show()
def openSecondDialog(self):
mydialog = QDialog(self)
#mydialog.setModal(True)
#mydialog.exec()
mydialog.show()
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec_())
Đây là phần khởi tạo các yêu cầu về cửa sổ của chúng tôi như tiêu đề và hình học.
self.title = "PyQt5 Window"
self.top = 200
self.left = 500
self.width = 400
self.height = 300
OK, bây giờ ở đây chúng ta sẽ thiết lập biểu tượng cửa sổ, tiêu đề cửa sổ và hình dạng cửa sổ. đảm bảo rằng bạn đã thêm một biểu tượng vào thư mục làm việc của mình.
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
Ngoài ra, chúng tôi cần tạo bố cục và chúng tôi sẽ sử dụng QVBoxLayout.
vbox = QVBoxLayout()
Ở đây, chúng tôi đã tạo đối tượng của QPushButton, vì chúng tôi muốn khi người dùng nhấp vào nút, một hộp thoại mới sẽ mở ra. ngoài ra, chúng tôi đã kết nối tín hiệu được nhấp của QPushButton với vị trí hoặc phương thức openSecondDialog() .
self.btn = QPushButton("Open Second Dialog")
self.btn.setFont(QtGui.QFont("Sanserif", 15))
self.btn.clicked.connect(self.openSecondDialog)
Ngoài ra, chúng tôi cần thêm nút của mình vào QVBoxLayout, đồng thời chúng tôi đã đặt bố cục vbox cho cửa sổ chính của mình.
vbox.addWidget(self.btn)
self.setLayout(vbox)
Ngoài ra, mọi ứng dụng PyQt5 phải tạo một đối tượng ứng dụng.
App = QApplication(sys.argv)
Cuối cùng, chúng tôi vào vòng lặp chính của ứng dụng. Việc xử lý sự kiện bắt đầu từ thời điểm này.
window = Window()
sys.exit(App.exec())
Chạy mã hoàn chỉnh và đây sẽ là kết quả.
PyQt5 Mở hộp thoại thứ hai bằng cách nhấp vào nút
Ngoài ra, bạn có thể xem video hoàn chỉnh cho bài viết này
Nguồn bài viết: https://codeloop.org
1685358240
In this PyQt5 tutorial, we will learn about What is QDialog?. How to open a new Dialog with button click in PyQt5. PyQt5 Open Second Dialog By Clicking Button
In this PyQt5 article i want to show how to Open Second Dialog By Clicking Button in PyQt5. we are going to use QDialog class for this article, a dialog window is a top level window mostly used for short-term tasks and brief communications with the user. QDialogs may be modal or modeless.
QDialog class is subclass of the QWidget class in PyQt5. it provides dialog window that can be used to display messages, ask for user input, or perform specific actions.
Dialogs are commonly used in graphical user interface (GUI) applications to interact with users, prompt them for input, and display messages or alerts. QDialog class provides different features and functionality for creating custom dialogs, including:
In addition, the QDialog class provides several signals and slots for communicating with other widgets and components in the application, making it a powerful tool for building complex and interactive user interfaces.
So now this is the complete code for PyQt5 Open Second Dialog By Clicking Button.
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QDialog, QVBoxLayout
import sys
class Window(QWidget):
def __init__(self):
super().__init__()
self.title = "PyQt5 Window"
self.top = 200
self.left = 500
self.width = 400
self.height = 300
self.InitWindow()
def InitWindow(self):
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
vbox = QVBoxLayout()
self.btn = QPushButton("Open Second Dialog")
self.btn.setFont(QtGui.QFont("Sanserif", 15))
self.btn.clicked.connect(self.openSecondDialog)
vbox.addWidget(self.btn)
self.setLayout(vbox)
self.show()
def openSecondDialog(self):
mydialog = QDialog(self)
#mydialog.setModal(True)
#mydialog.exec()
mydialog.show()
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec_())
These are the initialization of our window requirements like title and geometry.
self.title = "PyQt5 Window"
self.top = 200
self.left = 500
self.width = 400
self.height = 300
OK now in here we are going to set our window icon, window title and window geometry. make sure that you have added an icon to your working directory.
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
Also we need to create a layout and we are going to use a QVBoxLayout.
vbox = QVBoxLayout()
In here we have created the object of QPushButton, because we want when a user click on the button a new dialog will be open. also we have connected the clicked signal of QPushButton with the openSecondDialog() slot or method.
self.btn = QPushButton("Open Second Dialog")
self.btn.setFont(QtGui.QFont("Sanserif", 15))
self.btn.clicked.connect(self.openSecondDialog)
Also we need to add our button to the QVBoxLayout also we have set the vbox layout for our main window.
vbox.addWidget(self.btn)
self.setLayout(vbox)
Also every PyQt5 application must create an application object.
App = QApplication(sys.argv)
Finally, we enter the mainloop of the application. The event handling starts from this point.
window = Window()
sys.exit(App.exec())
Run the complete code and this will be the result.
PyQt5 Open Second Dialog By Clicking Button
Also you can watch the complete video for this article
Article source: https://codeloop.org
1685353121
在这个 PyQt5 教程中,我们将了解什么是 PyQt5 中的 QCompleter?| 创建 QCompleter 实例。QCompleter对象用于在将文本输入某些小部件(例如 LineEdit 或 ComboBox)时提供自动完成功能。当用户开始输入时,匹配模型内容并提供建议。
QCompleter 是 PyQt5 提供的一个小部件,它根据提供的可能值列表为用户输入提供自动完成。它通常用于 QLineEdit 或 QTextEdit 等文本输入字段,以帮助用户更高效、更准确地输入值。
当 QCompleter 小部件附加到文本输入字段时,它会根据当前输入提供可能完成的下拉列表。之后,用户可以从列表中选择完成或继续输入他们自己的输入。可以自定义 QCompleter 小部件以满足应用程序的特定需求,包括:
QCompleter 通常用于需要数据输入的应用程序,例如地址簿、搜索字段或表单输入。它还可以用于为命令行界面或其他基于文本的界面提供自动完成功能。
这些是本文需要的导入。
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QCompleter, QLineEdit
import sys
这是我们从窗口类扩展的主窗口类,我们初始化一些窗口要求,如 title 和 geometry 。我们也在这个类中调用我们的InitWindow()方法。
class Window(QDialog):
def __init__(self):
super().__init__()
self.title = "PyQt5 QCompleter"
self.top = 200
self.left = 500
self.width = 300
self.height = 200
self.InitWindow()
这行代码是我们窗口几何形状、窗口标题和窗口图标的设置。我们也在这里调用了我们的 Completer() 方法。
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.Completer()
所以现在在这里我们创建了 QVBoxLayout 的对象,我们已经创建了一个国家列表,因为我们想在我们的完成器中添加该列表。我们还需要创建 QLineEdit 对象。
vbox = QVBoxLayout()
names = ["Afghanistan", "India", "Pakistan", "Japan", "Indonesia", "China", "UAE", "America"]
completer = QCompleter(names)
self.lineedit = QLineEdit()
self.lineedit.setCompleter(completer)
在这里,我们在 vbox 布局中添加了 QLineEdit,并将 vbox 布局设置为主窗口。
vbox.addWidget(self.lineedit)
self.setLayout(vbox)
此外,每个 PyQt5 应用程序都必须创建一个应用程序对象。
App = QApplication(sys.argv)
最后,我们进入应用程序的主循环。事件处理从这一点开始。
window = Window()
sys.exit(App.exec())
QCompleter 的完整源代码
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QCompleter, QLineEdit
import sys
class Window(QDialog):
def __init__(self):
super().__init__()
self.title = "PyQt5 QCompleter"
self.top = 200
self.left = 500
self.width = 300
self.height = 200
self.InitWindow()
def InitWindow(self):
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.Completer()
self.show()
def Completer(self):
vbox = QVBoxLayout()
names = ["Afghanistan", "India", "Pakistan", "Japan", "Indonesia", "China", "UAE", "America"]
completer = QCompleter(names)
self.lineedit = QLineEdit()
self.lineedit.setCompleter(completer)
vbox.addWidget(self.lineedit)
self.setLayout(vbox)
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec_())
运行代码,这是结果
PyQt5创建QCompleter实例
您也可以观看本文的完整视频
文章来源: https: //codeloop.org
1685344089
Neste tutorial do PyQt5, aprenderemos sobre O que é o QCompleter no PyQt5? | Criando QCompleter Exemplo Prático. o objeto QCompleter é usado para fornecer preenchimentos automáticos quando o texto é inserido em alguns widgets, como LineEdit ou ComboBox. quando o usuário começa a digitar, o conteúdo do modelo é correspondido e sugestões são fornecidas.
QCompleter é um widget fornecido pelo PyQt5 que fornece preenchimento automático para a entrada do usuário com base na lista fornecida de valores possíveis. normalmente é usado em campos de entrada de texto como QLineEdit ou QTextEdit para ajudar os usuários a inserir valores com mais eficiência e precisão.
Quando o widget QCompleter é anexado ao campo de entrada de texto, ele fornece uma lista suspensa de possíveis conclusões com base na entrada atual. depois disso, os usuários podem selecionar a conclusão na lista ou continuar digitando sua própria entrada. O widget QCompleter pode ser personalizado para atender às necessidades específicas do aplicativo, incluindo:
O QCompleter é frequentemente usado em aplicativos que requerem entrada de dados, como catálogos de endereços, campos de pesquisa ou entrada de formulários. Ele também pode ser usado para fornecer preenchimento automático para interfaces de linha de comando ou outras interfaces baseadas em texto.
Estas são as importações que precisamos para este artigo.
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QCompleter, QLineEdit
import sys
Esta é a nossa classe de janela principal que se estende da classe de janela e inicializamos alguns requisitos de janela como título e geometria. também chamamos nosso método InitWindow() nesta classe.
class Window(QDialog):
def __init__(self):
super().__init__()
self.title = "PyQt5 QCompleter"
self.top = 200
self.left = 500
self.width = 300
self.height = 200
self.InitWindow()
Essa linha de códigos define a geometria da janela, o título da janela e o ícone da janela. também chamamos nosso método Completer() aqui.
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.Completer()
Então agora aqui criamos o objeto QVBoxLayout e criamos uma lista de países, porque queremos adicionar essa lista em nosso completer. também precisamos criar o objeto QLineEdit.
vbox = QVBoxLayout()
names = ["Afghanistan", "India", "Pakistan", "Japan", "Indonesia", "China", "UAE", "America"]
completer = QCompleter(names)
self.lineedit = QLineEdit()
self.lineedit.setCompleter(completer)
Aqui adicionamos nosso QLineEdit no layout vbox e definimos o layout vbox para a janela principal.
vbox.addWidget(self.lineedit)
self.setLayout(vbox)
Além disso, todo aplicativo PyQt5 deve criar um objeto de aplicativo.
App = QApplication(sys.argv)
Por fim, entramos no mainloop da aplicação. A manipulação do evento começa a partir deste ponto.
window = Window()
sys.exit(App.exec())
Fonte completa para o QCompleter
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QCompleter, QLineEdit
import sys
class Window(QDialog):
def __init__(self):
super().__init__()
self.title = "PyQt5 QCompleter"
self.top = 200
self.left = 500
self.width = 300
self.height = 200
self.InitWindow()
def InitWindow(self):
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.Completer()
self.show()
def Completer(self):
vbox = QVBoxLayout()
names = ["Afghanistan", "India", "Pakistan", "Japan", "Indonesia", "China", "UAE", "America"]
completer = QCompleter(names)
self.lineedit = QLineEdit()
self.lineedit.setCompleter(completer)
vbox.addWidget(self.lineedit)
self.setLayout(vbox)
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec_())
Execute o código e este é o resultado
PyQt5 Criando QCompleter Exemplo Prático
Além disso, você pode assistir ao vídeo completo deste artigo
Fonte do artigo: https://codeloop.org
1685338380
Trong hướng dẫn PyQt5 này, chúng ta sẽ tìm hiểu về QCompleter trong PyQt5 là gì? | Tạo ví dụ thực tế QCompleter. đối tượng QCompleter được sử dụng để cung cấp tính năng tự động hoàn thành khi văn bản được nhập vào một số tiện ích như LineEdit hoặc ComboBox. khi người dùng bắt đầu nhập, nội dung mô hình được khớp và các đề xuất được cung cấp.
QCompleter là một tiện ích do PyQt5 cung cấp, cung cấp khả năng hoàn thành tự động cho đầu vào của người dùng dựa trên danh sách các giá trị có thể được cung cấp. nó thường được sử dụng trong các trường nhập văn bản như QLineEdit hoặc QTextEdit để giúp người dùng nhập giá trị hiệu quả và chính xác hơn.
Khi tiện ích QCompleter được đính kèm vào trường nhập văn bản, nó sẽ cung cấp danh sách thả xuống có thể hoàn thành dựa trên đầu vào hiện tại. sau đó, người dùng có thể chọn hoàn thành từ danh sách hoặc tiếp tục nhập đầu vào của riêng họ. Tiện ích QCompleter có thể được tùy chỉnh để phù hợp với nhu cầu cụ thể của ứng dụng, bao gồm:
QCompleter thường được sử dụng trong các ứng dụng yêu cầu nhập dữ liệu, chẳng hạn như sổ địa chỉ, trường tìm kiếm hoặc nhập biểu mẫu. Nó cũng có thể được sử dụng để cung cấp tính năng tự động hoàn thành cho các giao diện dòng lệnh hoặc các giao diện dựa trên văn bản khác.
Đây là những mục nhập mà chúng tôi cần cho bài viết này.
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QCompleter, QLineEdit
import sys
Đây là lớp cửa sổ chính của chúng tôi mở rộng từ lớp cửa sổ và chúng tôi khởi tạo một số yêu cầu về cửa sổ như tiêu đề và hình học. chúng ta cũng gọi phương thức InitWindow() trong lớp này.
class Window(QDialog):
def __init__(self):
super().__init__()
self.title = "PyQt5 QCompleter"
self.top = 200
self.left = 500
self.width = 300
self.height = 200
self.InitWindow()
Những dòng mã này đang thiết lập hình dạng cửa sổ, tiêu đề cửa sổ và biểu tượng cửa sổ của chúng tôi. Ngoài ra, chúng tôi đã gọi phương thức Completer() của mình tại đây.
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.Completer()
Vì vậy, bây giờ ở đây, chúng tôi tạo đối tượng của QVBoxLayout và chúng tôi đã tạo danh sách các quốc gia, vì chúng tôi muốn thêm danh sách đó vào trình hoàn thành của mình. chúng ta cũng cần tạo đối tượng QLineEdit.
vbox = QVBoxLayout()
names = ["Afghanistan", "India", "Pakistan", "Japan", "Indonesia", "China", "UAE", "America"]
completer = QCompleter(names)
self.lineedit = QLineEdit()
self.lineedit.setCompleter(completer)
Tại đây, chúng tôi đã thêm QLineEdit vào bố cục vbox và chúng tôi đặt bố cục vbox thành cửa sổ chính.
vbox.addWidget(self.lineedit)
self.setLayout(vbox)
Ngoài ra, mọi ứng dụng PyQt5 phải tạo một đối tượng ứng dụng.
App = QApplication(sys.argv)
Cuối cùng, chúng tôi vào vòng lặp chính của ứng dụng. Việc xử lý sự kiện bắt đầu từ thời điểm này.
window = Window()
sys.exit(App.exec())
Toàn bộ nguồn cho QCompleter
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QCompleter, QLineEdit
import sys
class Window(QDialog):
def __init__(self):
super().__init__()
self.title = "PyQt5 QCompleter"
self.top = 200
self.left = 500
self.width = 300
self.height = 200
self.InitWindow()
def InitWindow(self):
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.Completer()
self.show()
def Completer(self):
vbox = QVBoxLayout()
names = ["Afghanistan", "India", "Pakistan", "Japan", "Indonesia", "China", "UAE", "America"]
completer = QCompleter(names)
self.lineedit = QLineEdit()
self.lineedit.setCompleter(completer)
vbox.addWidget(self.lineedit)
self.setLayout(vbox)
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec_())
Chạy code và đây là kết quả
PyQt5 Tạo QCompleter Ví dụ thực tế
Ngoài ra, bạn có thể xem video hoàn chỉnh cho bài viết này
Nguồn bài viết: https://codeloop.org
1685294228
In this PyQt5 tutorial, we will learn about What is QCompleter in PyQt5? | Creating QCompleter Practical Example. the QCompleter object is used to provide auto-completions when text is entered into some widgets such as the LineEdit or ComboBox. when user begins to type, the model content is matched and suggestions are provided.
QCompleter is a widget provided by PyQt5 that provides automatic completion for user input based on provided list of possible values. it is typically used in text input fields such as QLineEdit or QTextEdit to help users enter values more efficiently and accurately.
When QCompleter widget is attached to text input field, it provides drop down list of possible completions based on the current input. after that the users can select completion from the list or continue typing their own input. QCompleter widget can be customized to match the specific needs of the application, including:
QCompleter is often used in applications that require data entry, such as address books, search fields, or form input. It can also be used to provide autocompletion for command-line interfaces or other text based interfaces.
These are the imports that we need for this article.
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QCompleter, QLineEdit
import sys
This is our main window class that extends from window class and we initialize some window requirements like title and geometry . also we call our InitWindow() method in this class.
class Window(QDialog):
def __init__(self):
super().__init__()
self.title = "PyQt5 QCompleter"
self.top = 200
self.left = 500
self.width = 300
self.height = 200
self.InitWindow()
These line of codes are setting of our window geometry , window title and window icon. also we have called our Completer() method in here.
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.Completer()
So now in here we create the object of QVBoxLayout and we have created a list of countries, because we want to add that list in our completer. also we need to create QLineEdit object.
vbox = QVBoxLayout()
names = ["Afghanistan", "India", "Pakistan", "Japan", "Indonesia", "China", "UAE", "America"]
completer = QCompleter(names)
self.lineedit = QLineEdit()
self.lineedit.setCompleter(completer)
In here we have added our QLineEdit in the vbox layout and we set the vbox layout to the main window.
vbox.addWidget(self.lineedit)
self.setLayout(vbox)
Also every PyQt5 application must create an application object.
App = QApplication(sys.argv)
Finally, we enter the mainloop of the application. The event handling starts from this point.
window = Window()
sys.exit(App.exec())
Complete source for the QCompleter
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QCompleter, QLineEdit
import sys
class Window(QDialog):
def __init__(self):
super().__init__()
self.title = "PyQt5 QCompleter"
self.top = 200
self.left = 500
self.width = 300
self.height = 200
self.InitWindow()
def InitWindow(self):
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.Completer()
self.show()
def Completer(self):
vbox = QVBoxLayout()
names = ["Afghanistan", "India", "Pakistan", "Japan", "Indonesia", "China", "UAE", "America"]
completer = QCompleter(names)
self.lineedit = QLineEdit()
self.lineedit.setCompleter(completer)
vbox.addWidget(self.lineedit)
self.setLayout(vbox)
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec_())
Run the code and this is the result
PyQt5 Creating QCompleter Practical Example
Also you can watch the complete video for this article
Article source: https://codeloop.org
1684518120
在本 PyQt5 教程中,我们将了解什么是 PyQt5 中的 QTabWidget?| 如何在 PyQt5 中创建 QTabWidget。我们为此使用 QTabWidget 类。QTabWidget 类提供了一堆选项卡式小部件。选项卡小部件提供一个选项卡栏和一个“页面区域”,用于显示与每个选项卡相关的页面。默认情况下,标签栏显示在页面区域上方,但可以进行不同的配置
在 PyQt5 中,QTabWidget 是一个小部件,它提供用于在单个窗口中显示多个小部件的选项卡式界面。它允许您在不同的页面或选项卡之间切换,每个页面或选项卡都可以包含自己的一组小部件。QTabWidget 小部件通常用于图形用户界面 (GUI),以在单个应用程序中显示多个视图或模式。
QTabWidget 中的每个选项卡都与选择选项卡时显示的小部件相关联。您可以使用 addTab() 方法添加一个新选项卡并为其分配一个小部件。小部件可以是任何 PyQt5 小部件,例如 QLabel、QPushButton 或 QComboBox。
QTabWidget 提供了几种方法来自定义选项卡的外观和行为,例如 setTabText() 用于设置选项卡的文本,setTabToolTip() 用于设置选项卡的工具提示,以及 setTabEnabled() 用于启用或禁用选项卡。您还可以使用 currentChanged 信号来检测用户何时更改所选选项卡。
首先我们需要一些导入
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog,QTabWidget, QComboBox, QCheckBox ,QGroupBox ,QVBoxLayout, QWidget, QLabel, QLineEdit, QDialogButtonBox
import sys
from PyQt5.QtGui import QIcon
之后,我们将创建从 QDialog 扩展的主窗口类,并在该类的构造函数中添加了我们的窗口要求。比如我们设置了窗口标题,窗口图标。
class Tab(QDialog):
def __init__(self):
super().__init__()
self.setWindowTitle("PyQt5 TabWidget Example")
self.setWindowIcon(QIcon("icon.png"))
#self.setStyleSheet('background-color:grey')
如果你想给你的窗口一个颜色,你可以使用这个代码。
#self.setStyleSheet('background-color:grey')
所以现在我们需要创建QVBoxLayout、QTabWidget和QDialogButtonBox的对象。QDialogButtonBox 类是一个小部件,它以适合当前小部件样式的布局显示按钮。对话框和消息框通常在符合该平台界面指南的布局中显示按钮。不同的平台总是有不同的对话框布局。QDialogButtonBox 允许开发人员向其添加按钮,并将自动为用户的桌面环境使用适当的布局。
对话框的大多数按钮都遵循特定的角色。这些角色包括:
vbox = QVBoxLayout()
tabWidget = QTabWidget()
buttonbox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
这些是我们按钮框的角色。
buttonbox.accepted.connect(self.accept)
buttonbox.rejected.connect(self.reject)
在这里我要为我的 TabWidget 设置字体。
tabWidget.setFont(QtGui.QFont("Sanserif", 12))
好的,现在我们要在我们的 TabWidget 中添加我们的两个选项卡类。
tabWidget.addTab(TabContact(), "Contact Details")
tabWidget.addTab(TabPeronsalDetails(), "Personal Details")
我们还需要将 tabwidget 和 buttonbox 添加到 vbox 布局中。
vbox.addWidget(tabWidget)
vbox.addWidget(buttonbox)
self.setLayout(vbox)
这是我们已经添加到 TabWidget 中的两个选项卡类。我们在这两个选项卡中添加了一些小部件。
Python
class TabContact(QWidget):
def __init__(self):
super().__init__()
nameLabel = QLabel("Name: ")
nameEdit = QLineEdit()
phone = QLabel("Phone:")
phoneedit = QLineEdit()
addr = QLabel("Address:")
addredit = QLineEdit()
email = QLabel("Email:")
emailedit = QLineEdit()
vbox = QVBoxLayout()
vbox.addWidget(nameLabel)
vbox.addWidget(nameEdit)
vbox.addWidget(phone)
vbox.addWidget(phoneedit)
vbox.addWidget(addr)
vbox.addWidget(addredit)
vbox.addWidget(email)
vbox.addWidget(emailedit)
self.setLayout(vbox)
class TabPeronsalDetails(QWidget):
def __init__(self):
super().__init__()
groupBox = QGroupBox("Select Your Gender")
list = ["Male", "Female"]
combo = QComboBox()
combo.addItems(list)
vbox = QVBoxLayout()
vbox.addWidget(combo)
groupBox.setLayout(vbox)
groupBox2 = QGroupBox("Select Your Favorite Programming Language")
python =QCheckBox("Python")
cpp = QCheckBox("C++")
java = QCheckBox("Java")
csharp = QCheckBox("C#")
vboxp = QVBoxLayout()
vboxp.addWidget(python)
vboxp.addWidget(cpp)
vboxp.addWidget(java)
vboxp.addWidget(csharp)
groupBox2.setLayout(vboxp)
mainLayout = QVBoxLayout()
mainLayout.addWidget(groupBox)
mainLayout.addWidget(groupBox2)
self.setLayout(mainLayout)
此外,每个 PyQt5 应用程序都必须创建一个应用程序对象。
app = QApplication(sys.argv)
最后,我们进入应用程序的主循环。事件处理从这一点开始。
tabdialog = Tab()
tabdialog.show()
app.exec_()
本文的完整源代码
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog,QTabWidget, QComboBox, QCheckBox ,QGroupBox ,QVBoxLayout, QWidget, QLabel, QLineEdit, QDialogButtonBox
import sys
from PyQt5.QtGui import QIcon
class Tab(QDialog):
def __init__(self):
super().__init__()
self.setWindowTitle("PyQt5 TabWidget Example")
self.setWindowIcon(QIcon("icon.png"))
#self.setStyleSheet('background-color:grey')
vbox = QVBoxLayout()
tabWidget = QTabWidget()
buttonbox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
buttonbox.accepted.connect(self.accept)
buttonbox.rejected.connect(self.reject)
tabWidget.setFont(QtGui.QFont("Sanserif", 12))
tabWidget.addTab(TabContact(), "Contact Details")
tabWidget.addTab(TabPeronsalDetails(), "Personal Details")
vbox.addWidget(tabWidget)
vbox.addWidget(buttonbox)
self.setLayout(vbox)
class TabContact(QWidget):
def __init__(self):
super().__init__()
nameLabel = QLabel("Name: ")
nameEdit = QLineEdit()
phone = QLabel("Phone:")
phoneedit = QLineEdit()
addr = QLabel("Address:")
addredit = QLineEdit()
email = QLabel("Email:")
emailedit = QLineEdit()
vbox = QVBoxLayout()
vbox.addWidget(nameLabel)
vbox.addWidget(nameEdit)
vbox.addWidget(phone)
vbox.addWidget(phoneedit)
vbox.addWidget(addr)
vbox.addWidget(addredit)
vbox.addWidget(email)
vbox.addWidget(emailedit)
self.setLayout(vbox)
class TabPeronsalDetails(QWidget):
def __init__(self):
super().__init__()
groupBox = QGroupBox("Select Your Gender")
list = ["Male", "Female"]
combo = QComboBox()
combo.addItems(list)
vbox = QVBoxLayout()
vbox.addWidget(combo)
groupBox.setLayout(vbox)
groupBox2 = QGroupBox("Select Your Favorite Programming Language")
python =QCheckBox("Python")
cpp = QCheckBox("C++")
java = QCheckBox("Java")
csharp = QCheckBox("C#")
vboxp = QVBoxLayout()
vboxp.addWidget(python)
vboxp.addWidget(cpp)
vboxp.addWidget(java)
vboxp.addWidget(csharp)
groupBox2.setLayout(vboxp)
mainLayout = QVBoxLayout()
mainLayout.addWidget(groupBox)
mainLayout.addWidget(groupBox2)
self.setLayout(mainLayout)
if __name__ == "__main__":
app = QApplication(sys.argv)
tabdialog = Tab()
tabdialog.show()
app.exec_()
运行代码,这是结果
如何在 PyQt5 中创建 QTabWidget
您也可以观看本文的完整视频
文章来源: https: //codeloop.org
1684508700
В этом руководстве по PyQt5 мы узнаем, что такое QTabWidget в PyQt5? | Как создать QTabWidget в PyQt5. для этого мы используем класс QTabWidget. класс QTabWidget предоставляет набор виджетов с вкладками. виджет вкладки предоставляет панель вкладок и «область страницы», которая используется для отображения страниц, связанных с каждой вкладкой. По умолчанию панель вкладок отображается над областью страницы, но доступны другие конфигурации.
В PyQt5 QTabWidget — это виджет, который предоставляет интерфейс с вкладками для отображения нескольких виджетов в одном окне. он позволяет переключаться между разными страницами или вкладками, каждая из которых может содержать собственный набор виджетов. Виджет QTabWidget обычно используется в графических пользовательских интерфейсах (GUI) для отображения нескольких представлений или режимов в одном приложении.
каждая вкладка в QTabWidget связана с виджетом, который отображается при выборе вкладки. вы можете использовать метод addTab(), чтобы добавить новую вкладку и назначить ей виджет. виджет может быть любым виджетом PyQt5, например QLabel, QPushButton или QComboBox.
QTabWidget предоставляет несколько методов для настройки внешнего вида и поведения вкладок, таких как setTabText() для установки текста вкладки, setTabToolTip() для установки всплывающей подсказки вкладки и setTabEnabled() для включения или отключения вкладки. Вы также можете использовать сигнал currentChanged, чтобы определить, когда пользователь меняет выбранную вкладку.
Сначала нам нужен импорт
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog,QTabWidget, QComboBox, QCheckBox ,QGroupBox ,QVBoxLayout, QWidget, QLabel, QLineEdit, QDialogButtonBox
import sys
from PyQt5.QtGui import QIcon
После этого мы собираемся создать наш класс основного окна, который расширяется от QDialog, и мы добавили наши требования к окну в конструкторе этого класса. например, мы установили заголовок окна, значок окна.
class Tab(QDialog):
def __init__(self):
super().__init__()
self.setWindowTitle("PyQt5 TabWidget Example")
self.setWindowIcon(QIcon("icon.png"))
#self.setStyleSheet('background-color:grey')
Если вы хотите задать цвет для своего окна, вы можете использовать этот код.
#self.setStyleSheet('background-color:grey')
Итак, теперь нам нужно создать объект QVBoxLayout, QTabWidget, а также QDialogButtonBox. класс QDialogButtonBox — это виджет, который представляет кнопки в макете, соответствующем текущему стилю виджета. Диалоговые окна и окна сообщений обычно содержат кнопки в макете, который соответствует рекомендациям по интерфейсу для этой платформы. Неизменно разные платформы имеют разные макеты для своих диалогов. QDialogButtonBox позволяет разработчику добавлять в него кнопки и будет автоматически использовать соответствующий макет для среды рабочего стола пользователя.
Большинство кнопок для диалога следуют определенным ролям. К таким ролям относятся:
vbox = QVBoxLayout()
tabWidget = QTabWidget()
buttonbox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
Это роли для нашего блока кнопок.
buttonbox.accepted.connect(self.accept)
buttonbox.rejected.connect(self.reject)
Здесь я собираюсь установить шрифт для моего TabWidget.
tabWidget.setFont(QtGui.QFont("Sanserif", 12))
Хорошо, теперь мы собираемся добавить наши два класса вкладок в наш TabWidget.
tabWidget.addTab(TabContact(), "Contact Details")
tabWidget.addTab(TabPeronsalDetails(), "Personal Details")
Также нам нужно добавить наш tabwidget и buttonbox в макет vbox.
vbox.addWidget(tabWidget)
vbox.addWidget(buttonbox)
self.setLayout(vbox)
И это наш класс с двумя вкладками, который мы уже добавили в наш TabWidget. и мы добавили несколько виджетов на эти две вкладки.
Python
class TabContact(QWidget):
def __init__(self):
super().__init__()
nameLabel = QLabel("Name: ")
nameEdit = QLineEdit()
phone = QLabel("Phone:")
phoneedit = QLineEdit()
addr = QLabel("Address:")
addredit = QLineEdit()
email = QLabel("Email:")
emailedit = QLineEdit()
vbox = QVBoxLayout()
vbox.addWidget(nameLabel)
vbox.addWidget(nameEdit)
vbox.addWidget(phone)
vbox.addWidget(phoneedit)
vbox.addWidget(addr)
vbox.addWidget(addredit)
vbox.addWidget(email)
vbox.addWidget(emailedit)
self.setLayout(vbox)
class TabPeronsalDetails(QWidget):
def __init__(self):
super().__init__()
groupBox = QGroupBox("Select Your Gender")
list = ["Male", "Female"]
combo = QComboBox()
combo.addItems(list)
vbox = QVBoxLayout()
vbox.addWidget(combo)
groupBox.setLayout(vbox)
groupBox2 = QGroupBox("Select Your Favorite Programming Language")
python =QCheckBox("Python")
cpp = QCheckBox("C++")
java = QCheckBox("Java")
csharp = QCheckBox("C#")
vboxp = QVBoxLayout()
vboxp.addWidget(python)
vboxp.addWidget(cpp)
vboxp.addWidget(java)
vboxp.addWidget(csharp)
groupBox2.setLayout(vboxp)
mainLayout = QVBoxLayout()
mainLayout.addWidget(groupBox)
mainLayout.addWidget(groupBox2)
self.setLayout(mainLayout)
Также каждое приложение PyQt5 должно создавать объект приложения.
app = QApplication(sys.argv)
Наконец, мы входим в основной цикл приложения. Обработка события начинается с этой точки.
tabdialog = Tab()
tabdialog.show()
app.exec_()
Полный исходный код для этой статьи
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog,QTabWidget, QComboBox, QCheckBox ,QGroupBox ,QVBoxLayout, QWidget, QLabel, QLineEdit, QDialogButtonBox
import sys
from PyQt5.QtGui import QIcon
class Tab(QDialog):
def __init__(self):
super().__init__()
self.setWindowTitle("PyQt5 TabWidget Example")
self.setWindowIcon(QIcon("icon.png"))
#self.setStyleSheet('background-color:grey')
vbox = QVBoxLayout()
tabWidget = QTabWidget()
buttonbox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
buttonbox.accepted.connect(self.accept)
buttonbox.rejected.connect(self.reject)
tabWidget.setFont(QtGui.QFont("Sanserif", 12))
tabWidget.addTab(TabContact(), "Contact Details")
tabWidget.addTab(TabPeronsalDetails(), "Personal Details")
vbox.addWidget(tabWidget)
vbox.addWidget(buttonbox)
self.setLayout(vbox)
class TabContact(QWidget):
def __init__(self):
super().__init__()
nameLabel = QLabel("Name: ")
nameEdit = QLineEdit()
phone = QLabel("Phone:")
phoneedit = QLineEdit()
addr = QLabel("Address:")
addredit = QLineEdit()
email = QLabel("Email:")
emailedit = QLineEdit()
vbox = QVBoxLayout()
vbox.addWidget(nameLabel)
vbox.addWidget(nameEdit)
vbox.addWidget(phone)
vbox.addWidget(phoneedit)
vbox.addWidget(addr)
vbox.addWidget(addredit)
vbox.addWidget(email)
vbox.addWidget(emailedit)
self.setLayout(vbox)
class TabPeronsalDetails(QWidget):
def __init__(self):
super().__init__()
groupBox = QGroupBox("Select Your Gender")
list = ["Male", "Female"]
combo = QComboBox()
combo.addItems(list)
vbox = QVBoxLayout()
vbox.addWidget(combo)
groupBox.setLayout(vbox)
groupBox2 = QGroupBox("Select Your Favorite Programming Language")
python =QCheckBox("Python")
cpp = QCheckBox("C++")
java = QCheckBox("Java")
csharp = QCheckBox("C#")
vboxp = QVBoxLayout()
vboxp.addWidget(python)
vboxp.addWidget(cpp)
vboxp.addWidget(java)
vboxp.addWidget(csharp)
groupBox2.setLayout(vboxp)
mainLayout = QVBoxLayout()
mainLayout.addWidget(groupBox)
mainLayout.addWidget(groupBox2)
self.setLayout(mainLayout)
if __name__ == "__main__":
app = QApplication(sys.argv)
tabdialog = Tab()
tabdialog.show()
app.exec_()
Запусти код и вот результат
Как создать QTabWidget в PyQt5
Также вы можете посмотреть полное видео к этой статье
Источник статьи: https://codeloop.org
1684505580
Neste tutorial do PyQt5, aprenderemos sobre o que é QTabWidget no PyQt5? | Como criar QTabWidget em PyQt5. estamos usando a classe QTabWidget para isso. a classe QTabWidget fornece uma pilha de widgets com guias. um widget de guia fornece uma barra de guias e uma “área de página” que é usada para exibir páginas relacionadas a cada guia. Por padrão, a barra de guias é mostrada acima da área da página, mas diferentes configurações estão disponíveis
No PyQt5, QTabWidget é um widget que fornece uma interface com guias para exibir vários widgets em uma única janela. ele permite alternar entre diferentes páginas ou guias, cada uma das quais pode conter seu próprio conjunto de widgets. O widget QTabWidget é comumente usado em interfaces gráficas com o usuário (GUIs) para exibir várias exibições ou modos em um único aplicativo.
cada guia em QTabWidget é associada ao widget que é exibido quando a guia é selecionada. você pode usar o método addTab() para adicionar uma nova guia e atribuir um widget a ela. o widget pode ser qualquer widget PyQt5, como QLabel, QPushButton ou QComboBox.
QTabWidget fornece vários métodos para personalizar a aparência e o comportamento das guias, como setTabText() para definir o texto de uma guia, setTabToolTip() para definir a dica de ferramenta de uma guia e setTabEnabled() para ativar ou desativar uma guia. Você também pode usar o sinal currentChanged para detectar quando o usuário altera a guia selecionada.
Primeiro precisamos de algumas importações
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog,QTabWidget, QComboBox, QCheckBox ,QGroupBox ,QVBoxLayout, QWidget, QLabel, QLineEdit, QDialogButtonBox
import sys
from PyQt5.QtGui import QIcon
Depois disso, vamos criar nossa classe de janela principal que se estende de QDialog e adicionamos nossos requisitos de janela no construtor dessa classe. por exemplo, definimos o título da janela, o ícone da janela.
class Tab(QDialog):
def __init__(self):
super().__init__()
self.setWindowTitle("PyQt5 TabWidget Example")
self.setWindowIcon(QIcon("icon.png"))
#self.setStyleSheet('background-color:grey')
Se você quiser dar uma cor para sua janela, você pode usar este código.
#self.setStyleSheet('background-color:grey')
Então agora precisamos criar o objeto QVBoxLayout, QTabWidget e também QDialogButtonBox. a classe QDialogButtonBox é um widget que apresenta botões em um layout apropriado ao estilo do widget atual. Diálogos e caixas de mensagem geralmente apresentam botões em um layout que está em conformidade com as diretrizes de interface para essa plataforma. Invariavelmente, plataformas diferentes têm layouts diferentes para seus diálogos. QDialogButtonBox permite que um desenvolvedor adicione botões a ele e usará automaticamente o layout apropriado para o ambiente de área de trabalho do usuário.
A maioria dos botões de uma caixa de diálogo segue determinadas funções. Tais funções incluem:
vbox = QVBoxLayout()
tabWidget = QTabWidget()
buttonbox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
Estas são as funções da nossa caixa de botões.
buttonbox.accepted.connect(self.accept)
buttonbox.rejected.connect(self.reject)
Aqui vou definir a fonte do meu TabWidget.
tabWidget.setFont(QtGui.QFont("Sanserif", 12))
OK, agora vamos adicionar nossas duas classes de guias em nosso TabWidget.
tabWidget.addTab(TabContact(), "Contact Details")
tabWidget.addTab(TabPeronsalDetails(), "Personal Details")
Também precisamos adicionar nosso tabwidget e buttonbox ao layout vbox.
vbox.addWidget(tabWidget)
vbox.addWidget(buttonbox)
self.setLayout(vbox)
E esta é a nossa classe de duas guias que já adicionamos ao nosso TabWidget. e adicionamos alguns widgets nessas duas guias.
Python
class TabContact(QWidget):
def __init__(self):
super().__init__()
nameLabel = QLabel("Name: ")
nameEdit = QLineEdit()
phone = QLabel("Phone:")
phoneedit = QLineEdit()
addr = QLabel("Address:")
addredit = QLineEdit()
email = QLabel("Email:")
emailedit = QLineEdit()
vbox = QVBoxLayout()
vbox.addWidget(nameLabel)
vbox.addWidget(nameEdit)
vbox.addWidget(phone)
vbox.addWidget(phoneedit)
vbox.addWidget(addr)
vbox.addWidget(addredit)
vbox.addWidget(email)
vbox.addWidget(emailedit)
self.setLayout(vbox)
class TabPeronsalDetails(QWidget):
def __init__(self):
super().__init__()
groupBox = QGroupBox("Select Your Gender")
list = ["Male", "Female"]
combo = QComboBox()
combo.addItems(list)
vbox = QVBoxLayout()
vbox.addWidget(combo)
groupBox.setLayout(vbox)
groupBox2 = QGroupBox("Select Your Favorite Programming Language")
python =QCheckBox("Python")
cpp = QCheckBox("C++")
java = QCheckBox("Java")
csharp = QCheckBox("C#")
vboxp = QVBoxLayout()
vboxp.addWidget(python)
vboxp.addWidget(cpp)
vboxp.addWidget(java)
vboxp.addWidget(csharp)
groupBox2.setLayout(vboxp)
mainLayout = QVBoxLayout()
mainLayout.addWidget(groupBox)
mainLayout.addWidget(groupBox2)
self.setLayout(mainLayout)
Além disso, todo aplicativo PyQt5 deve criar um objeto de aplicativo.
app = QApplication(sys.argv)
Por fim, entramos no mainloop da aplicação. A manipulação do evento começa a partir deste ponto.
tabdialog = Tab()
tabdialog.show()
app.exec_()
Código-fonte completo para este artigo
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog,QTabWidget, QComboBox, QCheckBox ,QGroupBox ,QVBoxLayout, QWidget, QLabel, QLineEdit, QDialogButtonBox
import sys
from PyQt5.QtGui import QIcon
class Tab(QDialog):
def __init__(self):
super().__init__()
self.setWindowTitle("PyQt5 TabWidget Example")
self.setWindowIcon(QIcon("icon.png"))
#self.setStyleSheet('background-color:grey')
vbox = QVBoxLayout()
tabWidget = QTabWidget()
buttonbox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
buttonbox.accepted.connect(self.accept)
buttonbox.rejected.connect(self.reject)
tabWidget.setFont(QtGui.QFont("Sanserif", 12))
tabWidget.addTab(TabContact(), "Contact Details")
tabWidget.addTab(TabPeronsalDetails(), "Personal Details")
vbox.addWidget(tabWidget)
vbox.addWidget(buttonbox)
self.setLayout(vbox)
class TabContact(QWidget):
def __init__(self):
super().__init__()
nameLabel = QLabel("Name: ")
nameEdit = QLineEdit()
phone = QLabel("Phone:")
phoneedit = QLineEdit()
addr = QLabel("Address:")
addredit = QLineEdit()
email = QLabel("Email:")
emailedit = QLineEdit()
vbox = QVBoxLayout()
vbox.addWidget(nameLabel)
vbox.addWidget(nameEdit)
vbox.addWidget(phone)
vbox.addWidget(phoneedit)
vbox.addWidget(addr)
vbox.addWidget(addredit)
vbox.addWidget(email)
vbox.addWidget(emailedit)
self.setLayout(vbox)
class TabPeronsalDetails(QWidget):
def __init__(self):
super().__init__()
groupBox = QGroupBox("Select Your Gender")
list = ["Male", "Female"]
combo = QComboBox()
combo.addItems(list)
vbox = QVBoxLayout()
vbox.addWidget(combo)
groupBox.setLayout(vbox)
groupBox2 = QGroupBox("Select Your Favorite Programming Language")
python =QCheckBox("Python")
cpp = QCheckBox("C++")
java = QCheckBox("Java")
csharp = QCheckBox("C#")
vboxp = QVBoxLayout()
vboxp.addWidget(python)
vboxp.addWidget(cpp)
vboxp.addWidget(java)
vboxp.addWidget(csharp)
groupBox2.setLayout(vboxp)
mainLayout = QVBoxLayout()
mainLayout.addWidget(groupBox)
mainLayout.addWidget(groupBox2)
self.setLayout(mainLayout)
if __name__ == "__main__":
app = QApplication(sys.argv)
tabdialog = Tab()
tabdialog.show()
app.exec_()
Execute o código e este é o resultado
Como criar QTabWidget em PyQt5
Além disso, você pode assistir ao vídeo completo deste artigo
Fonte do artigo: https://codeloop.org
1684495860
在这个 PyQt5 教程中,我们将学习如何使用 PyQt5 创建一个 QCompleter Practical。QCompleter 对象用于在将文本输入某些小部件(例如 LineEdit 或 ComboBox)时提供自动完成功能。当用户开始输入时,匹配模型内容并提供建议。
QCompleter 是 PyQt5 提供的一个小部件,它根据提供的可能值列表为用户输入提供自动完成。它通常用于 QLineEdit 或 QTextEdit 等文本输入字段,以帮助用户更高效、更准确地输入值。
当 QCompleter 小部件附加到文本输入字段时,它会根据当前输入提供可能完成的下拉列表。之后,用户可以从列表中选择完成或继续输入他们自己的输入。可以自定义 QCompleter 小部件以满足应用程序的特定需求,包括:
QCompleter 通常用于需要数据输入的应用程序,例如地址簿、搜索字段或表单输入。它还可以用于为命令行界面或其他基于文本的界面提供自动完成功能。
这些是本文需要的导入。
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QCompleter, QLineEdit
import sys
这是我们从窗口类扩展的主窗口类,我们初始化一些窗口要求,如 title 和 geometry 。我们也在这个类中调用我们的InitWindow()方法。
class Window(QDialog):
def __init__(self):
super().__init__()
self.title = "PyQt5 QCompleter"
self.top = 200
self.left = 500
self.width = 300
self.height = 200
self.InitWindow()
这行代码是我们窗口几何形状、窗口标题和窗口图标的设置。我们也在这里调用了我们的 Completer() 方法。
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.Completer()
所以现在在这里我们创建了 QVBoxLayout 的对象,我们已经创建了一个国家列表,因为我们想在我们的完成器中添加该列表。我们还需要创建 QLineEdit 对象。
vbox = QVBoxLayout()
names = ["Afghanistan", "India", "Pakistan", "Japan", "Indonesia", "China", "UAE", "America"]
completer = QCompleter(names)
self.lineedit = QLineEdit()
self.lineedit.setCompleter(completer)
在这里,我们在 vbox 布局中添加了 QLineEdit,并将 vbox 布局设置为主窗口。
vbox.addWidget(self.lineedit)
self.setLayout(vbox)
此外,每个 PyQt5 应用程序都必须创建一个应用程序对象。
App = QApplication(sys.argv)
最后,我们进入应用程序的主循环。事件处理从这一点开始。
window = Window()
sys.exit(App.exec())
QCompleter 的完整源代码
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QCompleter, QLineEdit
import sys
class Window(QDialog):
def __init__(self):
super().__init__()
self.title = "PyQt5 QCompleter"
self.top = 200
self.left = 500
self.width = 300
self.height = 200
self.InitWindow()
def InitWindow(self):
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.Completer()
self.show()
def Completer(self):
vbox = QVBoxLayout()
names = ["Afghanistan", "India", "Pakistan", "Japan", "Indonesia", "China", "UAE", "America"]
completer = QCompleter(names)
self.lineedit = QLineEdit()
self.lineedit.setCompleter(completer)
vbox.addWidget(self.lineedit)
self.setLayout(vbox)
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec_())
运行代码,这是结果
PyQt5创建QCompleter实例
您也可以观看本文的完整视频
文章来源: https: //codeloop.org
1684482720
В этом руководстве по PyQt5 мы узнаем, как создать QCompleter практический с PyQt5. объект QCompleter используется для автозаполнения при вводе текста в некоторые виджеты, такие как LineEdit или ComboBox. когда пользователь начинает печатать, содержимое модели сопоставляется и предоставляются предложения.
QCompleter — это виджет, предоставляемый PyQt5, который обеспечивает автоматическое завершение пользовательского ввода на основе предоставленного списка возможных значений. обычно он используется в полях ввода текста, таких как QLineEdit или QTextEdit, чтобы помочь пользователям вводить значения более эффективно и точно.
Когда виджет QCompleter прикреплен к полю ввода текста, он предоставляет выпадающий список возможных дополнений на основе текущего ввода. после этого пользователи могут выбрать завершение из списка или продолжить вводить свой собственный ввод. Виджет QCompleter можно настроить в соответствии с конкретными потребностями приложения, в том числе:
QCompleter часто используется в приложениях, требующих ввода данных, таких как адресные книги, поля поиска или ввод форм. Его также можно использовать для обеспечения автозаполнения для интерфейсов командной строки или других текстовых интерфейсов.
Это импорт, который нам нужен для этой статьи.
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QCompleter, QLineEdit
import sys
Это наш основной класс окна, который является расширением класса окна, и мы инициализируем некоторые требования к окну, такие как заголовок и геометрия. также мы вызываем наш метод InitWindow() в этом классе.
class Window(QDialog):
def __init__(self):
super().__init__()
self.title = "PyQt5 QCompleter"
self.top = 200
self.left = 500
self.width = 300
self.height = 200
self.InitWindow()
Эти строки кода являются настройками геометрии нашего окна, заголовка окна и значка окна. также здесь мы вызвали наш метод Completer().
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.Completer()
Итак, теперь здесь мы создаем объект QVBoxLayout и мы создали список стран, потому что мы хотим добавить этот список в наше средство завершения. также нам нужно создать объект QLineEdit.
vbox = QVBoxLayout()
names = ["Afghanistan", "India", "Pakistan", "Japan", "Indonesia", "China", "UAE", "America"]
completer = QCompleter(names)
self.lineedit = QLineEdit()
self.lineedit.setCompleter(completer)
Здесь мы добавили наш QLineEdit в макет vbox и установили макет vbox в главное окно.
vbox.addWidget(self.lineedit)
self.setLayout(vbox)
Также каждое приложение PyQt5 должно создавать объект приложения.
App = QApplication(sys.argv)
Наконец, мы входим в основной цикл приложения. Обработка события начинается с этой точки.
window = Window()
sys.exit(App.exec())
Полный исходный код для QCompleter
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QCompleter, QLineEdit
import sys
class Window(QDialog):
def __init__(self):
super().__init__()
self.title = "PyQt5 QCompleter"
self.top = 200
self.left = 500
self.width = 300
self.height = 200
self.InitWindow()
def InitWindow(self):
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.Completer()
self.show()
def Completer(self):
vbox = QVBoxLayout()
names = ["Afghanistan", "India", "Pakistan", "Japan", "Indonesia", "China", "UAE", "America"]
completer = QCompleter(names)
self.lineedit = QLineEdit()
self.lineedit.setCompleter(completer)
vbox.addWidget(self.lineedit)
self.setLayout(vbox)
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec_())
Запусти код и вот результат
PyQt5 Практический пример создания QCompleter
Также вы можете посмотреть полное видео к этой статье
Источник статьи: https://codeloop.org
1684478820
Neste tutorial do PyQt5, aprenderemos como criar um QCompleter prático com o PyQt5. o objeto QCompleter é usado para fornecer preenchimentos automáticos quando o texto é inserido em alguns widgets, como LineEdit ou ComboBox. quando o usuário começa a digitar, o conteúdo do modelo é correspondido e sugestões são fornecidas.
QCompleter é um widget fornecido pelo PyQt5 que fornece preenchimento automático para a entrada do usuário com base na lista fornecida de valores possíveis. normalmente é usado em campos de entrada de texto como QLineEdit ou QTextEdit para ajudar os usuários a inserir valores com mais eficiência e precisão.
Quando o widget QCompleter é anexado ao campo de entrada de texto, ele fornece uma lista suspensa de possíveis conclusões com base na entrada atual. depois disso, os usuários podem selecionar a conclusão na lista ou continuar digitando sua própria entrada. O widget QCompleter pode ser personalizado para atender às necessidades específicas do aplicativo, incluindo:
O QCompleter é frequentemente usado em aplicativos que requerem entrada de dados, como catálogos de endereços, campos de pesquisa ou entrada de formulários. Ele também pode ser usado para fornecer preenchimento automático para interfaces de linha de comando ou outras interfaces baseadas em texto.
Estas são as importações que precisamos para este artigo.
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QCompleter, QLineEdit
import sys
Esta é nossa classe de janela principal que se estende da classe de janela e inicializamos alguns requisitos de janela como título e geometria. também chamamos nosso método InitWindow() nesta classe.
class Window(QDialog):
def __init__(self):
super().__init__()
self.title = "PyQt5 QCompleter"
self.top = 200
self.left = 500
self.width = 300
self.height = 200
self.InitWindow()
Essa linha de códigos define a geometria da janela, o título da janela e o ícone da janela. também chamamos nosso método Completer() aqui.
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.Completer()
Então agora aqui criamos o objeto QVBoxLayout e criamos uma lista de países, porque queremos adicionar essa lista em nosso completer. também precisamos criar o objeto QLineEdit.
vbox = QVBoxLayout()
names = ["Afghanistan", "India", "Pakistan", "Japan", "Indonesia", "China", "UAE", "America"]
completer = QCompleter(names)
self.lineedit = QLineEdit()
self.lineedit.setCompleter(completer)
Aqui adicionamos nosso QLineEdit no layout vbox e definimos o layout vbox para a janela principal.
vbox.addWidget(self.lineedit)
self.setLayout(vbox)
Além disso, todo aplicativo PyQt5 deve criar um objeto de aplicativo.
App = QApplication(sys.argv)
Por fim, entramos no mainloop da aplicação. A manipulação do evento começa a partir deste ponto.
window = Window()
sys.exit(App.exec())
Fonte completa para o QCompleter
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QCompleter, QLineEdit
import sys
class Window(QDialog):
def __init__(self):
super().__init__()
self.title = "PyQt5 QCompleter"
self.top = 200
self.left = 500
self.width = 300
self.height = 200
self.InitWindow()
def InitWindow(self):
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.Completer()
self.show()
def Completer(self):
vbox = QVBoxLayout()
names = ["Afghanistan", "India", "Pakistan", "Japan", "Indonesia", "China", "UAE", "America"]
completer = QCompleter(names)
self.lineedit = QLineEdit()
self.lineedit.setCompleter(completer)
vbox.addWidget(self.lineedit)
self.setLayout(vbox)
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec_())
Execute o código e este é o resultado
PyQt5 Criando QCompleter Exemplo Prático
Além disso, você pode assistir ao vídeo completo deste artigo
Fonte do artigo: https://codeloop.org
1684473000
在本 PyQt5 教程中,我们将了解什么是 PyQt5 QTimeEdit?| 如何在 PyQt5 中创建 QTimeEdit。TimeEdit 小部件提供了一个可编辑框,可以从中显示和编辑时间值。为了在 PyQt5 中创建 QTimeEdit,我们使用QTimeEdit类。
PyQt5 QTimeEdit 是 PyQt5 提供的一个小部件,它允许用户以用户友好的方式输入和显示时间值。它是显示时间输入字段的图形用户界面 (GUI) 控件,允许用户以小时、分钟和秒为单位输入时间值。
QTimeEdit 小部件允许用户通过使用向上和向下箭头、直接在输入字段中键入时间值或从下拉菜单中选择值来调整时间值。
QTimeEdit 小部件还提供属性和方法来设置和检索时间值,并根据特定的格式规则格式化显示的时间。此小部件通常用于需要时间输入的应用程序,例如日程安排、时间跟踪或事件管理应用程序。
所以这是如何在 PyQt5 中创建 QTimeEdit 的完整代码。
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QTimeEdit
from PyQt5.QtCore import QTime
import sys
class Window(QWidget):
def __init__(self):
super().__init__()
self.title = "PyQt5 Window"
self.top = 200
self.left = 500
self.width = 400
self.height = 300
self.InitWindow()
def InitWindow(self):
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.MyTime()
self.show()
def MyTime(self):
vbox = QVBoxLayout()
time = QTime()
time.setHMS(13,15,40)
timeedit = QTimeEdit()
timeedit.setFont(QtGui.QFont("Sanserif", 15))
timeedit.setTime(time)
vbox.addWidget(timeedit)
self.setLayout(vbox)
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec_())
这是我们从 QWidget 扩展的主窗口类,我们初始化了一些窗口要求,如标题和几何图形,我们还在此类中添加了IniWindow()方法。
class Window(QWidget):
def __init__(self):
super().__init__()
self.title = "PyQt5 Window"
self.top = 200
self.left = 500
self.width = 400
self.height = 300
self.InitWindow()
在这里我们创建了 QVBoxLayout 对象,我们也在这里创建了 QTime 对象,所以一个 QTime 对象包含一个时钟时间,它可以表示为从午夜开始的小时数、分钟数、秒数和毫秒数。它提供比较时间和通过添加毫秒数来操纵时间的功能。
vbox = QVBoxLayout()
time = QTime()
time.setHMS(13,15,40)
这是我们的 QTimeEdit,QTimeEdit 类提供了一个基于 QDateTimeEdit 小部件的用于编辑时间的小部件。
timeedit = QTimeEdit()
timeedit.setFont(QtGui.QFont("Sanserif", 15))
timeedit.setTime(time)
此外,每个 PyQt5 应用程序都必须创建一个应用程序对象。该 sys.argv参数是来自命令行的参数列表。
App = QApplication(sys.argv)
最后,我们进入应用程序的主循环。事件处理从这一点开始。
window = Window()
sys.exit(App.exec())
运行完整的代码,这就是结果。
如何在 PyQt5 中创建 QTimeEdit
观看本文的完整视频
文章来源: https: //codeloop.org
1684458120
В этом руководстве по PyQt5 мы узнаем, что такое PyQt5 QTimeEdit? | Как создать QTimeEdit в PyQt5. виджет TimeEdit предоставляет редактируемое поле, из которого можно отображать и редактировать значение времени. для создания QTimeEdit в PyQt5 мы используем класс QTimeEdit .
PyQt5 QTimeEdit — это виджет, предоставляемый PyQt5, который позволяет пользователям вводить и отображать значения времени в удобной для пользователя форме. это элемент управления графическим интерфейсом пользователя (GUI), который отображает поле ввода времени, которое позволяет пользователям вводить значения времени в часах, минутах и секундах.
Виджет QTimeEdit позволяет пользователям настраивать значение времени с помощью стрелок вверх и вниз, путем непосредственного ввода значения времени в поле ввода или путем выбора значения из раскрывающегося меню.
Также виджет QTimeEdit предоставляет свойства и методы для установки и извлечения значения времени, а также для форматирования отображаемого времени в соответствии с определенными правилами форматирования. этот виджет обычно используется в приложениях, требующих ввода времени, таких как планирование, отслеживание времени или приложения для управления событиями.
Итак, это полный код того, как создать QTimeEdit в PyQt5.
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QTimeEdit
from PyQt5.QtCore import QTime
import sys
class Window(QWidget):
def __init__(self):
super().__init__()
self.title = "PyQt5 Window"
self.top = 200
self.left = 500
self.width = 400
self.height = 300
self.InitWindow()
def InitWindow(self):
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.MyTime()
self.show()
def MyTime(self):
vbox = QVBoxLayout()
time = QTime()
time.setHMS(13,15,40)
timeedit = QTimeEdit()
timeedit.setFont(QtGui.QFont("Sanserif", 15))
timeedit.setTime(time)
vbox.addWidget(timeedit)
self.setLayout(vbox)
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec_())
Это наш основной класс окна, который расширяется от QWidget, и мы инициализируем некоторые требования к окну, такие как заголовок и геометрия, также мы добавили в этот класс наш метод IniWindow() .
class Window(QWidget):
def __init__(self):
super().__init__()
self.title = "PyQt5 Window"
self.top = 200
self.left = 500
self.width = 400
self.height = 300
self.InitWindow()
Здесь мы создали объект QVBoxLayout, а также здесь мы создали объект QTime, поэтому объект QTime содержит время на часах, которое может выражаться в часах, минутах, секундах и миллисекундах с полуночи. Он предоставляет функции для сравнения времени и для управления временем путем добавления количества миллисекунд.
vbox = QVBoxLayout()
time = QTime()
time.setHMS(13,15,40)
А это наш QTimeEdit, класс QTimeEdit предоставляет виджет для редактирования времени на основе виджета QDateTimeEdit.
timeedit = QTimeEdit()
timeedit.setFont(QtGui.QFont("Sanserif", 15))
timeedit.setTime(time)
Также каждое приложение PyQt5 должно создавать объект приложения. Параметр sys.argvпредставляет собой список аргументов из командной строки.
App = QApplication(sys.argv)
Наконец, мы входим в основной цикл приложения. Обработка события начинается с этой точки.
window = Window()
sys.exit(App.exec())
Запустите полный код, и это будет результатом.
Как создать QTimeEdit в PyQt5
Посмотрите полное видео к этой статье
Источник статьи: https://codeloop.org