jjzjj

c++ - 在 Qt 上如何设置每列 33% 的 3 列布局?

我有一个3列布局,我正在努力寻找一个解决方案,以便在33%上设置3个流体列。 最佳答案 我想你正在寻找这个:voidQBoxLayout::addWidget(QWidget*widget,intstretch=0,Qt::Alignmentalignment=0)Addswidgettotheendofthisboxlayout,withastretchfactorofstretchandalignmentalignment.ThestretchfactorappliesonlyinthedirectionoftheQBoxLay

c++ - Qt中多个ui窗体的切换

我正在为嵌入式设备开发用户界面。我创建了大约30个ui表单。您首先拥有加载数据库并自动连接到可用的已知wifi和所有这些启动功能的欢迎表单。加载所有内容后,下一个要加载的表单是用户登录如果登录是我的第二个用户界面,那么我就是这样做的//InstantiatingtheLoginclassLogin*myLog=newLogin();//Closethewelcomeclassthis->close();//opentheLoginclassmyLog->show();这是在多个UI之间切换的正确方法吗?该软件可以想象成任何具有多个图标按钮以打开不同应用程序的智能手机设备。每个应用程序或

c++ - 内容动态变化的QScrollArea

我有一个带有一些按钮的QScrollArea,如图所示。布局的思路是:1.左右键太宽时应使用左右键滚动2.滚动区的按钮数量可以动态改变3.任何可用空间都应尽可能扩大滚动区域。如果不存在这样的空间,则应使用导航按钮进行滚动。在我当前的实现中,当我增加按钮时,我有这个:但是右边有空闲空间,所以这应该是这样的:例如,如果我再次增加到10,则应该出现滚动条(因为布局由小部件包含)。我想知道除了手动调整小部件的大小之外是否还有其他方法(因为可以翻译ui并且按钮可以更改大小提示,而且实际设计更复杂:(这是我对ScrollAreaTest小部件的实现:#include"MainWidget.h"#i

c++ - 与 QLabel 和 QLineEdit 中的正确文本对齐

我有一个QLabel就在QLineEdit下面具有相同的大小和对齐属性:QLineEdit*lineEdit=newQLineEdit("999");lineEdit->setFixedWidth(100);lineEdit->setAlignment(Qt::AlignRight);//QLabel*label=newQLabel("999");label->setFixedWidth(100);label->setAlignment(Qt::AlignRight);//QLayout*layout=newQVBoxLayout;layout->addWidget(lineEdit)

c++ - 如何以编程方式将 QMainWindow 的大小调整为其最小大小

当我有一个带有网格布局的QMainWindow时,当用鼠标调整它的大小时,它不会低于其中所有控件正确显示所需的最小尺寸。在我的应用程序中,我有时会以编程方式隐藏控件,但随后窗口保持相同大小,其余控件看起来分散开来,它们之间的空间太大。我最终手动调整了对话框的大小,这样它看起来就不难看了。我能否以编程方式将对话框的垂直大小设置为我在其中隐藏控件后手动调整大小时获得的最小值? 最佳答案 我发现调整QMainWindow中的centralWidget的大小,然后调整QMainWindow本身的大小就可以了。换句话说:fromPyQt4im

c++ - 如何在 QLayout 中查找给定类型的小部件?

我能够找到QRadioButton这样:for(inti=0;iverticalLayout->count();i++){QRadioButton*r=qobject_cast(ui->verticalLayout->itemAt(i)->widget());if(r->isChecked())//foundit!}但我不喜欢这种遍历元素的方式,我想使用foreach构造。我的第一次尝试失败了:foreach(QRadioButton*child,ui->verticalLayout->findChildren()){if(child->isChecked())//foundit!}问

python - QWidget::setLayout:试图在 MainWindow ""上设置 QLayout "",它已经有一个布局

我正在PyQt4中制作一个应用程序,这是我目前的代码:importsysfromPyQt4importQtGui,QtCoreclassMainWindow(QtGui.QMainWindow):def__init__(self):super(MainWindow,self).__init__()self.initUi()definitUi(self):self.setWindowTitle('MainMenu')self.setFixedSize(1200,625)self.firstWidgets()self.show()deffirstWidgets(self):self.vbo

python - PySide:从布局中删除小部件

我正在尝试从PySide应用程序的布局中删除Qt小部件。这是一个最小的例子。它是一个包含5个按钮的小部件,中间的按钮应该在单击时自行移除:importsysfromPySideimportQtGuiapp=QtGui.QApplication(sys.argv)widget=QtGui.QWidget()layout=QtGui.QVBoxLayout()buttons=[QtGui.QPushButton(str(x))forxinxrange(5)]defdeleteButton():b=layout.takeAt(2)buttons.pop(2)delbbuttons[2].cl

python - PySide:从布局中删除小部件

我正在尝试从PySide应用程序的布局中删除Qt小部件。这是一个最小的例子。它是一个包含5个按钮的小部件,中间的按钮应该在单击时自行移除:importsysfromPySideimportQtGuiapp=QtGui.QApplication(sys.argv)widget=QtGui.QWidget()layout=QtGui.QVBoxLayout()buttons=[QtGui.QPushButton(str(x))forxinxrange(5)]defdeleteButton():b=layout.takeAt(2)buttons.pop(2)delbbuttons[2].cl

c++ - QWidget::setLayout: 试图在 Widget ""上设置 QLayout "",它已经有一个布局

我正在尝试通过代码(不是在Designer中)手动设置小部件的布局,但我做错了,因为我收到了以下警告:QWidget::setLayout:AttemptingtosetQLayout""onWidget"",whichalreadyhasalayout而且布局也很乱(标签在顶部,而不是底部)。这是重现问题的示例代码:Widget::Widget(QWidget*parent):QWidget(parent){QLabel*label=newQLabel("Test",this);QHBoxLayout*hlayout=newQHBoxLayout(this);QVBoxLayout*
12