标签: qstackedwidget

为什么我不能在设计器的QStackedWidget中为页面设置布局?

在Qt 4.8.0的设计器中重现的步骤

  • 我在Qt Designer中创建了一个新的对话框表单
  • 我在对话框中添加了一个QStackedWidget
  • 我设置对话框的布局,使对话框的堆叠布局大小
  • 我在堆叠小部件中向第一页添加了一些控件
  • 我在控件的右侧树视图中选择堆叠小部件中的第一页
  • 该页面旁边的图标(这是一个QWidget)显示页面缺少布局

当我单击上面的一个布局按钮时,它不会更改页面QWidget的布局,即使我已经明确选择了页面,它也会更改对话框的布局.

这是设计师的错误吗?我错过了什么吗?我真的不想以编程方式添加布局,因为这使我无法在同一.ui文件中布局设计器中的页面

layout user-interface qt4 qt-designer qstackedwidget

11
推荐指数
2
解决办法
7042
查看次数

Qt QStackedWidget调整问题大小

我有一个简单的QStackedWidget,里面有3个不同的QWidgets.QWidgets的最小尺寸为(350x200),(200x100)和(450x450).

所以我遇到的问题是当我调整QStackedWidget的大小时,它有一个最大的QWidget大小.因此,如果我切换到第二个QWidget(它是大小为(200x100)的QWidget),QStackedWidget将只缩小(450x450),因为它内部有最大的QWidget.我希望它的大小适合当前显示的QWidget,并删除最小尺寸.

qt qwidget qstackedwidget

8
推荐指数
2
解决办法
3539
查看次数

PyQt5 中堆叠小部件的透明背景

我一直在尝试使用 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)

python pyqt python-3.x pyqt5 qstackedwidget

6
推荐指数
1
解决办法
4015
查看次数

将QStackedWidget的大小调整为打开的页面

我希望我QStackedWidget调整大小到打开的页面.

我在第一页上附加了很多小部件,但其余的页面只有一个按钮.所以他们保持这么大,第一页就可以了.

如何让我QStackedWidget的页面大小正在被查看.

我想要这样做的原因是我有三种不同的选择,之后我还有其他的东西.如果我改变到有一个按钮然后有很多空白区域的模式,我不明白它为什么不调整大小.

size qt qwidget qstackedwidget

5
推荐指数
2
解决办法
6374
查看次数

在设计时将页面添加到 QStackedWidget Qt Designer

我目前在 QStackedWidget 中需要 3 个页面。但是,在 Qt Designer 中,我只能添加 2 个页面。单击 QStackedWidget 上的下一个箭头后,它会将我带回上一页,而不是带我到新页面。

如何在 Qt Designer 中向 QStackedWidget 添加新页面?

c++ qt qtgui qt-designer qstackedwidget

3
推荐指数
1
解决办法
4673
查看次数

如何从 QStackedWidget 中删除所有小部件?

如何从中删除所有小部件QStackedWidget?我只需要从QStackedWidget.

qt qstackedwidget

3
推荐指数
1
解决办法
3903
查看次数

PyQt:如何在 QStackedWidget 中切换小部件

我有两个按钮(wgtbtnAwgtbtnB)放置在父对象(objectNamestackedWidget)内的两个不同页面(分别为page1page2)上。我的困境是:当我运行代码时,箭头不显示在 PyQt 中。为什么?如何从 page1 到 page2 交替,反之亦然?

这是运行时的图像,它传达了我的要求:

btnwgtB

Qt设计师:

btnwgtA

我想保留那些小箭头。

下面是我的代码:

# -*- 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 pyqt pyqt4 qt-designer qstackedwidget

3
推荐指数
1
解决办法
1万
查看次数

如何在 PyQt5 中制作嵌套的 StackedLayouts?

我正在用 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)

python pyqt pyqt5 qstackedwidget

3
推荐指数
1
解决办法
2252
查看次数

Qt 设计器中的 QStackedLayout

我可以QStackedWidget在 Qt Creator 中使用罚款,但它具有允许用户更改当前页面的按钮。我只想以编程方式做到这一点。不幸的是,表单编辑器中的任何地方似乎都没有堆叠布局。有什么方法可以QStackedLayout在 Qt Designer 中使用 a吗?

qt qt5 qstackedwidget

2
推荐指数
1
解决办法
1271
查看次数

如何在GUI中使用QStackedWidget?

我是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)

c++ user-interface qt qt-creator qstackedwidget

2
推荐指数
1
解决办法
8682
查看次数

滑动 QStackedWidget 页面

如何QtWidgets.QStackedWidget在 QPushButton.clicked 上滑动页面,如下图(右)所示?动作:在左键按下 QStackedWidget 页面索引将设置为 0 & 在右键按下 QStackedWidget 页面索引将设置为 1

python qstackedwidget pyside2

1
推荐指数
1
解决办法
1122
查看次数