伙伴”部件。Pyqt中,有一个好用的基本功能就是“伙伴”部件,当用户键入标签的快捷键时,光标的焦点会出现在标签的伙伴上。例如:我们有一个用户名的标签和一个用户名的输入框,设置用户名标签与用户名输入框为“伙伴”,设置用户名标签的文本为“用户名”,表示用户名标签的快捷键为Alt+2,如我们按快捷键Alt+2,那么光标的输入符就会移动到用户名的输入框中。
qt 点击按钮调用另一个窗口后,新窗口按钮自定义槽函数不执行,
主窗口按钮的槽函数,点击调用
void Ui_initface::set_clicked()
{
Ui_Dialog udialog;
udialogsetupUi(dialog);
dialog->show();
}
新窗口的槽函数
void Ui_Dialog::save_conf()
{
char s_c[11];
int s_i[8];
memset(s_i,0,8);
QString pstr;
s_i[0]=spinBox0->value();
printf("%d\n",s_i[0]);
s_i[1]=spinBox0_2->value();
pstr=lineEdit_ag->text();
const char c_pstr = pstrtoLatin1()data();
//printf("%s\n",c_pstr);
strcpy(s_c,c_pstr);
s_i[4]=radioButton_ag1->isChecked();
s_i[5]=radioButton_ag01->isChecked();
s_i[2]=radioButton_a1->isChecked ();
s_i[3]=radioButton_01->isChecked ();
s_i[6]=radioButton_ab1->isChecked ();
s_i[7]=radioButton_ab01->isChecked ();
printf("%d\n",s_i[1]);
printf("%d\n",s_i[2]);
printf("%d\n",s_i[3]);
printf("%d\n",s_i[4]);
printf("%d\n",s_i[5]);
printf("%d\n",s_i[6]);
printf("%d\n",s_i[7]);
Write_Config(s_i,s_c);
emit CloseDialog();
}
pyqt5&pythonGui入门教程(1)第一个窗口(1) 第一个窗口和代码详细注释: fromPyQt5importQtWidgets#从PyQt库导入QtWidget通用窗口类classmywindow(QtWidgetsQWidget):#自己建一个mywindows类,以class开头,mywindows是自己的类名,
Python获取电脑截图有多种方式,具体如下:
PIL中的ImageGrab模块
windows API
PyQt
pyautogui
使用Selenium截图
使用PIL中的ImageGrab模块简单,但是效率有点低,截屏一次需05s。
调用windows API,速度快但是使用较复杂,这里就不做详细介绍了,因为有更好用的PyQt。
PyQt比调用windows API简单很多,而且有windows API的很多优势,比如速度快,可以指定获取的窗口,即使窗口被遮挡。需注意的是,窗口最小化时无法获取截图。
首先需要获取窗口的句柄。
程序会打印窗口的hwnd和title,有了title就可以进行截图了。
pyautogui是比较简单的,但是不能指定获取程序的窗口,因此窗口也不能遮挡,不过可以指定截屏的位置,004s一张截图,比PyQt稍慢一点,但也很快了。
使用Selenium只能进行WEB程序截图
你可以随时添加子控件或布局到此布局中,但在将其插入父布局之前,整个布局都不会执行。
QGridLayout 通过其父布局或 parentWidget() 获取可用空间,将其划分为行和列,并将其管理的每个窗口小部件放入正确的单元格中。
每列具有最小宽度和拉伸系数。最小宽度是使用 setColumnMinimumWidth() 设置的值与该列中所有控件的最小宽度之中的最大值。拉伸因子使用 setColumnStretch() 设置,并确定列将超过其必要最小值的可用空间量。
通常,使用 addWidget() 将每个托管控件或布局放入自己的单元格中。使用 addItem() 和 addWidget() 的行和列跨越重载,窗口小部件也可能占用多个单元格。如果这做,QGridLayout将猜测如何在列/行上分配大小(基于拉伸因子)。
使用 removeWidget() 可以从布局中删除控件。或者在控件上使用 hide() 也可以有效地将其隐藏,直到使用 show() 。
上图中第 0、2 和 4 列均由一个 QLabel 、一个 QLineEdit 和一个 QListBox 组成,第 1 列和第 3 列则是使用 setColumnMinimumWidth() 创建的占位符。第 0 行包含三个 QLabel 对象,第 1 行包括三个 QLineEdit 对象,第 2 行包括三个 QListBox 对象。
请注意,上图中列和行的宽高并不一定相同。如果希望两列具有相同的宽度,则必须自己将最小宽度和拉伸系数设置为相同。您可以使用 setColumnMinimumWidth() 和 setColumnStretch() 执行此 *** 作。
如果 QGridLayout 不是顶级布局(即,不管理所有窗口小部件的区域和子窗口),则必须在在创建之后对其执行任何 *** 作之前,将其添加到其父布局。添加布局的常规方法是在父布局上调用 addLayout() 。
QGridLayout还包括两个边距宽度:contentsMargins 和 spacing() 。contentsMargins 是 QGridLayout 四边的保留空间的宽度。 spacing() 是相邻框之间自动分配的间距的宽度。
contentsMargins 默认值由 style 提供,子控件默认为 9,窗口为 11。spacing 默认与顶级布局的 margin 宽度相同,或与父布局的相同。
from PyQt5 import QtWidgets
import sys
app = QtWidgetsQApplication(sysargv)
window = QtWidgetsQWidget() # 父窗口
windowsetWindowTitle("QHBoxLayout")
windowresize(300, 60)
button1 = QtWidgetsQPushButton("1")
button2 = QtWidgetsQPushButton("2")
hbox = QtWidgetsQHBoxLayout() # 创建容器
hboxaddWidget(button1) # 添加组件
hboxaddWidget(button2)
windowsetLayout(hbox) # 指定父组件
windowshow()
sysexit(appexec_())
以上就是关于python怎么把窗口用户名的输入框放在用户名下面全部的内容,包括:python怎么把窗口用户名的输入框放在用户名下面、用的pyqt5,想实现点按钮打开新窗口 【总是报错,实在不知道这个BUG怎么调了,求大佬帮助】、Python,pyqt5等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)