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=0and in addTab(page,"File-"+ i++)Doesn't work.

原文:https://stackoverflow.com/questions/14692433

2022-01-02 10:01

满意答案

您需要将整数转换为QString才能将其连接到QString 。 更好的是,您可以使用QString :: arg函数,并且可以非常轻松地获取可读且可能更快的代码:

tab_widget->addTab(page, QString("File-%1").arg(i++))

i的班级中的字段初始化为1。

You need to covert integer to the QString to be able to concat it to the QString. Even better, you can use QString::arg function and get readable and potentially faster code very easily:

tab_widget->addTab(page, QString("File-%1").arg(i++))

Where i is field in your class initialized to 1.

相关问答更多

PyQt4(QTabWidget)如何更改Tab页面的位置(PyQt4 (QTabWidget) how to change position of a Tab Page)

好的,我发现了自己的问题。 我把self.ui.tabWidget.tabCloseRequested.connect(self.onTabClose)放在与创建新标签的方法相同的方法中。 这意味着如果创建了5个选项卡,那么当一个选项卡关闭时,tabCloseReqested会触发5次。 通过将此连接语句放在我的类的init中,就像我应该做的那样,它只定义一次,并且仅在关闭选项卡时触发一次。 OK, I found the problem my self. I had put the self.u...

如何在QTabWidget标头中设置QWidget?(How to set QWidget in QTabWidget header?)

您必须使用setTabButton函数: void QTabBar :: setTabButton(int index,ButtonPosition position,QWidget * widget) 在选项卡索引上设置小部件。 小部件根据位置放置在左侧或右侧。 隐藏任何先前设置的小部件。 标签栏将取得窗口小部件的所有权,因此在销毁时,标签栏将删除此处设置的所有窗口小部件,除非您在设置其他窗口小部件(或0)后单独重新显示窗口小部件。 该功能在Qt 4.5中引入。 这与QTabWidget而与QT...

是否可以通过制表符号引用QTabWidget的单个选项卡?(Is it possible to reference individual tabs of a QTabWidget by tab number?)

如果您希望该选项卡具有特定索引,请使用widget(): QWidget* tab = tabWidget->widget( index )If you want the tab with a certain index, use widget(): QWidget* tab = tabWidget->widget( index )

如何在QTabWidget中为布局设置布局?(How can I set a layout to a tab in QTabWidget?)

它将始终位于左上角。 您可以在自己的基础上添加另一个小部件,然后将小部件放在该小部件的中间,或者将小部件设置为选项卡的大小并将其内容放在中间。 您可以使用QWidget的setLayout方法来设置窗口小部件布局。 Following @Satus idea, I create a new QFrame, set the minimum size as the size of myTabWidget, set a horizontal layout and add myCustomWidget i...

QT:逃离QTabWidget(QT: Escape from QTabWidget)

来自doc: void QWidget::setTabOrder ( QWidget * first, QWidget * second ) [static] 将第二个窗口小部件放在焦点顺序中的第一个窗口小部件之后。 请注意,由于第二个小部件的Tab键顺序已更改,您应该按如下顺序排序: setTabOrder(a, b)// a to b setTabOrder(b, c)// a to b to c setTabOrder(c, d)// a to b to c to d ...

QTabWidget拒绝自动调整大小(QTabWidget refusing to auto-resize)

这是如何使Qt Widget随窗口大小增长而重复吗? ? 我认为它是重复的,因为如果你的小部件树中的每个项目都有一个布局,我在Qt 4.7上的测试给出了以下输出,右边是我的对象检查器。 我只是放入小部件并打好它们,我没有改变任何尺寸的东西来扩展,因为这绝对没必要! 左边是正在运行的exe,右边是Creator截图。 这是我的用户界面: <?xml version="1.0" encoding="UTF-8"?><ui version="4.0"><class>MainWindow</...

Qt QTabWidget - 自动设置标签名称编号(Qt QTabWidget - auto set tab name number)

您需要将整数转换为QString才能将其连接到QString 。 更好的是,您可以使用QString :: arg函数,并且可以非常轻松地获取可读且可能更快的代码: tab_widget->addTab(page, QString("File-%1").arg(i++))i的班级中的字段初始化为1。 You need to covert integer to the QString to be able to concat it to the QString. Even better, yo...

如何在Qt上从QTabWidget获取currentTabName?(How to get currentTabName from QTabWidget on Qt?)

正如Chris Kawa 在这里回答的那样,这是当前小部件的对象名称。 从代码我可以这样得到它: QString currentTabName = tabWidget->currentWidget()->objectName()注意 :正如文档建议的那样,确保在使用tabWidget->currentWidget()时检查nullptr 。 As Chris Kawa answered here this is the object name of the current widget. F...

如何在QTabWidget中只设置一个不能在Qt中移动的选项卡?(How to set only one tab in a QTabWidget as not moveable in Qt?)

看看QTabBar的源代码( QTabBar子元素),似乎这是不可能的。 所有选项卡只有一个movable属性。 但是,您可以尝试以下方法: 子类QTabBar并在拖动开始之前捕获鼠标按下事件以启用或禁用选项卡的移动。 像这样的东西: void MyTabBar::mousePressEvent(QMouseEvent *event) { // all tabs movable except first setMovable(tabAt(event->pos()) != 0)...

样式化QTabWidget(Styling QTabWidget)

似乎焦点矩形由正在使用的QStyle (不要与样式表混淆)处理。 您可以编写一个QStyle子类并将其应用于您的QTabWidget 。 子类应覆盖drawControl()方法,如果当前正在绘制焦点矩形,则不执行任何 *** 作。 子类看起来像这样: NoFocusRectStyle.h #ifndef NOFOCUSRECTSTYLE_H #define NOFOCUSRECTSTYLE_H #include <QWindowsVistaStyle>// or the QStyle subclas...

1. 安装vs2008。注意:不是Express版本.

2. 安装Qt for windows。 注意Qt的安装路径最好安装在全英文路径而且中间没有空格。

3. 安装Qt SDK for wince,(过程比较长)

打开visual studio 2008命令提示,然后顺序执行以下命令:

a. VS2008命令提示(DOS),进入QTCE文件夹执行, 输入命令: configure -platform win32-msvc2008 -xplatform wincewm60professional-MSVC2008 -webkit –fast

b.设置VC的CE INCLUDE和LIB目录c. 输入命令 nmake 执行

c.输入命令 nmake 执行

4. 安装Qt的VS开发插件(qt-vs-addin)

5. 配置VS2008的Qt开发环境(VS2008最好是英文版本)进入VS2008,选择Qt菜单,Qt Option,进行设置。

把VS编码设置为utf8格式。

qt中默认解析的编码格式是utf8格式,vs的编码格式是gbk给qt控件设置内容,有中文,必须是utf8编码。

左侧选择文件,右侧找到高级保存选项,点击确定设置编码为utf8,BOM编码。


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

原文地址: http://outofmemory.cn/bake/7982540.html

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

发表评论

登录后才能评论

评论列表(0条)

保存