在Qt 4.8.0的设计器中重现的步骤
当我单击上面的一个布局按钮时,它不会更改页面QWidget的布局,即使我已经明确选择了页面,它也会更改对话框的布局.
这是设计师的错误吗?我错过了什么吗?我真的不想以编程方式添加布局,因为这使我无法在同一.ui文件中布局设计器中的页面
我有一个简单的QStackedWidget,里面有3个不同的QWidgets.QWidgets的最小尺寸为(350x200),(200x100)和(450x450).
所以我遇到的问题是当我调整QStackedWidget的大小时,它有一个最大的QWidget大小.因此,如果我切换到第二个QWidget(它是大小为(200x100)的QWidget),QStackedWidget将只缩小(450x450),因为它内部有最大的QWidget.我希望它的大小适合当前显示的QWidget,并删除最小尺寸.
我一直在尝试使用 PyQt5 创建一个基本时钟。时钟部分工作并且时钟后面的背景图像加载,但我无法使文本的背景变得透明。
我已经尝试了下面列出的两种方法,但self.lbl1.setStyleSheet("background-color: rgba(255, 255, 255, 10);")
在两种情况下都得到了相同的结果。
如果我设置了,layout.setCurrentIndex(0)
我会看到背景 jpeg 就在那里,所以加载得很好。
关于我需要做什么才能拥有具有透明度的分层小部件有什么想法吗?
尝试把它弄清楚一点
这是我得到的
这就是我想要的
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
layout = QStackedLayout()
#Background area test
self.background = QLabel(self)
self.background.setPixmap(QPixmap("image.jpeg"))
self.background.show()
#self.background.setAutoFillBackground(True)
#Setup text area for clock
newfont = QFont("Consolas",120, QFont.Bold)
self.lbl1 = QLabel()
self.lbl1.setAlignment(Qt.AlignCenter)
self.lbl1.setFont(newfont)
self.lbl1.setWindowFlags(Qt.FramelessWindowHint)
self.lbl1.setAttribute(Qt.WA_TranslucentBackground)
#Timer to refresh clock
timer = QTimer(self)
timer.timeout.connect(self.showTime)
timer.start(1000)
self.showTime()
#layout …
Run Code Online (Sandbox Code Playgroud) 我希望我QStackedWidget
调整大小到打开的页面.
我在第一页上附加了很多小部件,但其余的页面只有一个按钮.所以他们保持这么大,第一页就可以了.
如何让我QStackedWidget
的页面大小正在被查看.
我想要这样做的原因是我有三种不同的选择,之后我还有其他的东西.如果我改变到有一个按钮然后有很多空白区域的模式,我不明白它为什么不调整大小.
我目前在 QStackedWidget 中需要 3 个页面。但是,在 Qt Designer 中,我只能添加 2 个页面。单击 QStackedWidget 上的下一个箭头后,它会将我带回上一页,而不是带我到新页面。
如何在 Qt Designer 中向 QStackedWidget 添加新页面?
如何从中删除所有小部件QStackedWidget
?我只需要从QStackedWidget
.
我有两个按钮(wgtbtnA和wgtbtnB)放置在父对象(objectName:stackedWidget)内的两个不同页面(分别为page1和page2)上。我的困境是:当我运行代码时,箭头不显示在 PyQt 中。为什么?如何从 page1 到 page2 交替,反之亦然?
这是运行时的图像,它传达了我的要求:
Qt设计师:
我想保留那些小箭头。
下面是我的代码:
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'stackedWidget.ui'
#
# Created by: PyQt4 UI code generator 4.11.4
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
import sys
import os
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = …
Run Code Online (Sandbox Code Playgroud) 我正在用 Python 为一个大学项目创建一个 PyQt5 应用程序,该应用程序用于QStackedLayout
使其成为单窗口应用程序,但是,我无法弄清楚如何在堆叠小部件中嵌套堆叠小部件。
运行代码(因问题而降级)时,您可以看到带有 a 的主菜单QPushButton
。单击它时,窗口中的 a 会发生变化QListWidget
。
我想要实现的是 右侧的 Stacked Widget QListWidget
,它分别随着选择的列表项而变化。
编辑:有没有一种方法可以打开另一个窗口所在的位置?现在,每当我单击一个按钮时,窗口就会在屏幕中间弹出。
在代码中,您可以看到我尝试实现的部分,后面带有注释字符。
编码:
import sys
from PyQt5.QtWidgets import (QApplication, QMainWindow,
QLabel, QPushButton, QWidget,
QStackedLayout, QListWidget)
from PyQt5.QtCore import QRect, Qt
class Ui(QWidget):
def setupUi(self, Main):
Main.setObjectName("Main")
Main.setFixedSize(900, 500)
self.width = 900
self.height = 500
self.setFixedSize(self.width, self.height)
'''MENU ON THE MAIN WINDOW'''
self.menu = QStackedLayout()
self. mainMenu = QWidget()
self.howToMenu = QWidget()
self. mainMenuUi()
self.howToMenuUi()
self.menu.addWidget(self. mainMenu)
self.menu.addWidget(self.howToMenu)
'''MENU …
Run Code Online (Sandbox Code Playgroud) 我可以QStackedWidget
在 Qt Creator 中使用罚款,但它具有允许用户更改当前页面的按钮。我只想以编程方式做到这一点。不幸的是,表单编辑器中的任何地方似乎都没有堆叠布局。有什么方法可以QStackedLayout
在 Qt Designer 中使用 a吗?
我是Qt的新手,我必须QStackedWidget
使用Qt设计器工具为这个我找到的类创建一个具有多个窗口的GUI .
我添加了QStackedWidget
使用add new-> Qt designer form class-> Qstackwidget
之后我在主窗口中创建了这个类的对象
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include<stackedwidget.h>
namespace Ui { class MainWindow; }
class MainWindow : public QMainWindow {
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void on_pushButton_clicked();
private:
Ui::MainWindow *ui;
StackedWidget *stk; };
#endif // MAINWINDOW_H
Run Code Online (Sandbox Code Playgroud)
然后我试图通过以下方式显示StackedWidget:
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
stk = new StackedWidget(this); …
Run Code Online (Sandbox Code Playgroud) 如何QtWidgets.QStackedWidget
在 QPushButton.clicked 上滑动页面,如下图(右)所示?动作:在左键按下 QStackedWidget 页面索引将设置为 0 & 在右键按下 QStackedWidget 页面索引将设置为 1
qstackedwidget ×11
qt ×6
python ×4
pyqt ×3
qt-designer ×3
c++ ×2
pyqt5 ×2
qwidget ×2
layout ×1
pyqt4 ×1
pyside2 ×1
python-3.x ×1
qt-creator ×1
qt4 ×1
qt5 ×1
qtgui ×1
size ×1