qt自动设置key编号

qt自动设置key编号,第1张

在一个应用程序上工作,我有选项卡名称的问题。 当我点击按钮(新)时,我想动态创建新标签。

使用此功能,我创建新文件

bool MainWindow::toolbarNewFile()

{

QWidget page = new QWidget;

QTextEdit codeEditor = new QTextEdit;

QGridLayout layout = new QGridLayout;

layout->addWidget(codeEditor);

page->setLayout(layout);

tab_widget->addTab(page,"File");

return true;

}

但所有标签都有名称“FILE”

如何在标签名称编号中设置。 当我制作新选项卡时,自动设置选项卡的编号如下。

文件-1,文件-2,文件-3

我试着设置counter i=0; 并在addTab(page,"File-"+ i++); 不起作用。

I working on one application and I have problem with tab name When I click on push button (NEW) I want to dynamically create new tab

With this function i create new file:

bool MainWindow::toolbarNewFile()

{

QWidget page = new QWidget;

QTextEdit codeEditor = new QTextEdit;

QGridLayout layout = new QGridLayout;

layout->addWidget(codeEditor);

page->setLayout(layout);

tab_widget->addTab(page,"File");

return true;

}

But all tabs have name "FILE"

How to set in tab name number When i make new tab auto set number of the tab like this

File-1, File-2, File-3

I try to set counter i=0; and in addTab(page,"File-"+ i++); Doesn't work

原文:>

错误代码都没有呢?估计是你定义的SLOT有问题。

你看看我写的这段代码吧,是选取QComboBox控件中的文本内容的。

intmain(intargc,charargv)

{

QApplicationapp(argc,argv);

QComboBoxcomboBox=newQComboBox;

QTextEdittextEdit=new QTextEdit;

QVBoxLayoutlayout=new QVBoxLayout;

layout->addWidget(textEdit);

layout->addWidget(comboBox);

comboBox->addItem(QObject::tr("ComboBoxItem01"));

comboBox->addItem(QObject::tr("ComboBoxItem02"));

comboBox-addItem(QObject::tr("ComboBoxItem03"));

QObject::connect(comboBox,SIGNAL(activated(QString)),textEdit,SLOT(insertPlainText(QString)));

QWidget mainWin;

mainWinsetLayout(layout);

mainWinresize(770,550);

mainWinshow();

returnappexec();

}

from PyQt4 import QtGui,QtCore

import threading,time

        

class sy(QtGuiQWidget):

    txt_signal = QtCorepyqtSignal(str)

    def __init__(self,parent=None):

        selfapp=QtGuiQApplication([])

        super(sy,self)__init__(parent)

        selftxt=QtGuiQTextEdit()

        lay=QtGuiQVBoxLayout()

        selftxt_signalconnect(selfwritetoTextbox) 

        layaddWidget(selftxt)

        selfsetLayout(lay)

    def main(self):

        selfshow()

        selfappexec_()

    def write(self,s):

        selftxt_signalemit(s)

    @QtCorepyqtSlot(str)  

    def writetoTextbox(self,text):  

        selftxtappend(text)

    

def PrintSomething(stream):

    timesleep(3)

    print('hello world',file=stream,end="Yes,it's a test!")

if __name__=='__main__':

    s=sy()

    t=threadingThread(target=PrintSomething,args=(s,))

    tstart()

    smain()

要点:

一、print(value, , sep=' ', end='\n', file=sysstdout):

file参数决定输出内容要输出到哪里,任何拥有write(self,s)方法的对象都可以充作此参数

value参数的字符串表示将被作为一次输出,定向到file对象

end参数将被作为第二次输出,定向到file对象

二、PyQt绘制出的GUI界面用常规方法是无法从后台线程访问界面上的控件的,所以这里就另外定义了一个pyqtSignal,在后台线程调用write方法时在write方法中引发此信号的事件。

1、QFile

既然是读取文件,QFile类是必不可少的。QFile类提供了与C++语法相似的文件读取和写入 *** 作,支持文本文件和二进制文件。

2

2、QTextStream

使用QTextStream类,对文本文件读写时将会更加方便。该类重载了多个输入和输出 *** 作符。

3

3、QApplication

当我们进行文件读取时,如果文件比较大,读取时间可能会较长,这时,适当地调用QApplication类的静态函数setOverrideCursor设置光标为等待状态,可以让用户获知程序此时的工作状态。

END

二、 *** 作步骤

首先,在源文件中包含前面提到的头文件。然后,新建一个QFile对象,再以只读方式和文本文件方式打开指定的文件。

如果打开文件失败,d出对话框显示出错信息。在这里,tr引用的字符串中的%1参数对应于其后的第一个参数。该语句的显示效果如下面的图二所示。

为了进行文件内容的读取,我们先构建一个QTextStream对象,并将构建该对象的参数指定为之前创建的QFile对象。

然后,从QTextStream中读取所有文本,并将其设置到QTextEdit对象(即编辑框)中显示。在读取过程中,我们设置光标为等待状态。

5

现在,一切就大功告成了。立刻运行程序测试一下结果,完美地读取了文本文件内容!

// QTextEdit是多行文本编辑框,自动换行的,如果你要加行号,可以根据如下API进行

QTextEdit textEdit = new QTextEdit();

// 转换成TextDocument

QTextDocument document = textEdit->document();

// 获取行数

int nRowcnt = document->lineCount();

以上就是关于qt自动设置key编号全部的内容,包括:qt自动设置key编号、qt中怎样从textedit中一行一行的读取数据,然后写入到文件中、QT中ComboBox如何获取选中的文本内容下面程序出错了,如何改正等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9534548.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存